2013-09-23 4 views
3

HTML 파일의 닫는 body 태그 앞에있는 스크립트의 문서 준비 함수에 완벽하게 작동하는 간단한 Ajax 호출이 있습니다. 그러나 스크립트 태그와 문서 준비 기능을 제외한 외부 .js 파일로 호출을 이동하려고하면 호출이 작동하지 않습니다. 나는 어떤 성공없이 머리와 같은 HTML 파일의 신체 모두에서 외부 파일을 추가 시도 : 내가 도움이 될 수 있습니다 확실하지이기 때문에Ajax 호출을 외부 파일로 포함시키는 방법은 무엇입니까?

<script src="includes_js/login3.js" type="text/javascript"></script> 

나는 여기에 많은 코드를 포함하지 않았다. 외부 자바 스크립트 파일로 문서 준비 기능을 추가

답변

0

However, when I try to move the call into an external .js file, excluding script tags and the document ready function

보십시오.

경고가 실행되면 외부 Java 스크립트 파일이로드되고 있음을 의미합니다. 그렇지 않으면 <script> 태그의 경로에 문제가있을 수 있습니다.

+0

경로 문제가있었습니다. 나는 그것을 고치고 문서 준비 함수를 외부 파일에 추가했다. (외부 파일이 필요 없다고 생각한 이유가있다.) – user2232681

+0

외부 스크립트 파일을로드 할 위치, 헤드 태그 또는 바디 닫기 태그 바로 앞에 대한 권장 사항이 있습니까? – user2232681

+0

내가 읽은 바로는 닫는 body 태그 바로 앞에서 스크립트 파일을로드하는 것이 더 낫습니다. 스크립트를로드하는 데 시간이 걸릴 수 있으며 헤더 태그에 스크립트가 있으면 페이지로드 속도가 느려질 수 있습니다. 반면에 본문 끝 부분에 스크립트가 있으면 스크립트가로드되기 전에 먼저 전체 웹 페이지로드를 볼 수 있습니다. 따라서 body 태그 하단에 스크립트가 있으면 페이지를 열 때 더 나은 사용자 환경을 제공 할 수 있습니다. – Trevor

0

다음과 같이 외부 파일에서 js 메서드를 호출 할 수 있습니다.

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: encodeURI("../CtrlName/MethodName"), // adjust your path 
     async: true, 
     data: JSON.stringify({ "param": _param }), 
     dataType: "json", 
     success: function (data) { 
      console.log(data); 
     }, 
     error: function (data) { 
      console.log(data); 
     } 
    }); 
관련 문제