2014-03-25 2 views
0

일반 HTML/jQuery 웹 사이트를 만들고 있습니다.Mac의 경우 로컬에서는 jquery를 사용하여 html을로드 할 수 없습니다. 액세스 헤더 오류

저는 Mac/Chrome입니다.

색인 페이지를 열어두고 다른 .html 페이지를 포함하도록 코드를 작성했습니다. 내 인덱스 페이지를 새로 고침 할 때

$("#result").load("menu.html", function() { 
    alert("Load was performed."); 
}); 

, 나는 "로드가 수행되었다"라는 경고를 얻을,하지만 난 내 #result div의 내 menu.html 내용을 볼 수 없습니다. dev에 도구 콘솔에서 볼 때이 오류 참조 :

OPTIONS file://localhost/Users/xxx/web/menu.html No 'Access Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

내가이 헤더에 대해 읽어을 그것을 당신이 외부 사이트의 내용을 포함 할 경우에만 적용 할 것으로 보인다. 내 인덱스와 메뉴 페이지는 같은 폴더에 있지만이 정도면 충분합니까?

왜로드되지 않습니까? Mac 웹 서버를 통해 색인 페이지를 볼 필요가 있습니까? 난 그냥 평범한 HTML/자바 스크립트로 그냥 이런 식으로 작동 것이라고 생각.

미리 감사드립니다.

Solveig

답변

1

CORS 블록 file:// URL을 (그들이 CORS가에 대해 확인하려고 원점 헤더를 제공하지 않기 때문에), 그래서 그래, 당신은이에 대한 웹 서버를 통해 페이지를보고해야합니까 작업. http://localhost 잘 작동합니다.

+0

감사 :

python -m SimpleHTTPServer 9090 

그런 다음에 귀하의 사이트에 액세스 할 수 있습니다. 내 웹 서버가 Lion에서 작동하지 않았습니다. 이 기사의 아파치와 설정 부분을 통해 문제를 해결했다. 모든 것이 이제는 잘됩니다. 환호 :) https://discussions.apple.com/docs/DOC-3083 – solveig

1

로컬에서는 Ajax 호출을 할 수 없습니다 (file : //)하지만 OSX에서는 사이트가있을 때 디렉토리에서 파이썬 내장 서버를 사용할 수 있습니다. 콘솔에서 실행 :

http://localhost:9090/