2013-09-07 6 views
0

AngularJS와, 각-1.2.0-rc.2

$http.get("gridData.json") 
     .success(function(data, status, headers, config){ 
      angular.extend($scope.model.entities, data.entities); 
     }) 
     .error(function(data, status, headers, config){ 
      alert("x"); 
     }); 

부하가 서버 또는시에서 페이지가 페이지를 실행할 때이 코드는 완벽하게 잘 실행 파이어 폭스 또는 크롬을 사용하는 로컬 디스크. 그러나 IE9에서 디스크에서 페이지를로드 할 때 (다른 IE 버전에서는 테스트하지 않음) 항상 오류 기능으로 이동합니다. 디버깅 할 때 오류가 발생하면 config에 내용이있는 것을 제외하고는 데이터, 상태, 헤더가 모두 정의되지 않습니다.

누구든지 아이디어가 있으십니까? 어떤 해결책이 될 수 있을까요?

답변

2

same origin policy 크롬에 같은 오류가 표시됩니다. Chrome 및 IE는 로컬 아약스 요청을 허용하지 않습니다. 예를 들어 크롬을 위해 당신은 어떤 특별한 플래그

http://joshuamcginnis.com/2011/02/28/how-to-disable-same-origin-policy-in-chrome/

C:\Users\YOUR_USER\AppData\Local\Google\Chrome\Application\chrome.exe --allow-file-access-from-files --disable-web-security 

및 즉 당신이 최소한으로 보안 설정을 줄일 수 있습니다 그것을 시작해야한다고 할 수있는 방법이 있습니다.

다른 솔루션이 사용 jQuery의

$.support.cors = true; 

또 다른 솔루션
당신이 할 필요가 없습니다 방법 JS 파일이나 서버에서 JSON 데이터를 넣어하려고 jQuery $.ajax run as a local HTML file avoiding SOP (same origin policy)

처럼 모든 로컬 파일에 대한 Ajax 요청

기타 출처 :
Ways to circumvent the same-origin policy
http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/

+1

감사합니다. – khtwo