2017-10-26 12 views
0

http 요청을 다른 사이트로 보내는 코드가 있지만 프로덕션 환경에서 컴파일되면 코드를 호출 할 수 없습니다. 정의되지 않은 메소드 오류가 있습니다. 내가 원하는 모든보기에 직접 지나치지 않고 모든 페이지에서 함수를 호출 할 수 있도록 어떻게 만들 수 있습니까? 내 자산Rails 응용 프로그램은 로컬 환경에서 작동하지만 프로덕션 환경에서 작동합니다. 정의되지 않았기 때문에이 함수를 호출 할 수 없습니다.

/자바 스크립트 디렉토리 내가

var foobar= {}  
foobar.report = function(eventName){ 
var event = {event: {name:eventName}}; 
var request = new XMLHttpRequest(); 
request.open("POST", "http://localhost:3000/api/events", true) 
request.setRequestHeader('Content-Type', 'application/json'); 
request.send(JSON.stringify(event)); 
}; 

다음 내가보기

<script>foobar.report('about page loaded');</script> 

답변

0

장소 코드에서 호출이 뭔가를 가지고있는이 라인을 가진 'JS 파일'이 내부 (function() {});

(function() { 

var foobar= {}  
foobar.report = function(eventName){ 
var event = {event: {name:eventName}}; 
var request = new XMLHttpRequest(); 
request.open("POST", "http://localhost:3000/api/events", true) 
request.setRequestHeader('Content-Type', 'application/json'); 
request.send(JSON.stringify(event)); 
};`enter code here` 




}); 
+0

코드를 프로덕션에서 업데이트했으며 작동하지 않았습니다. Uncaught ReferenceError : foobar가 정의되지 않았습니다. 익명 함수로 변경한다고 생각하지 마십시오. 생산 방식에서로드 된 방법이 변경됩니다. –

+0

창 [ 'foobar'] = foobar; 준비된 처리기의 끝에 이것을 추가하여 작동 할 수 있음 –