2017-02-09 8 views
0

다음 웹 사이트에서 데이터를 가져 오는 jQuery 스크립트가 있습니다.jQuery get 아무것도 반환하지 않는 요청 받기

첫 번째 단계는 데이터를 ... (그 후 나는 데이터로 뭔가를해야합니다.)

내 문제는 첫 번째 단계입니다로드하는 것입니다. 물건은 단순히로드되지 않습니다.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

     <script> 

      $(document).ready(function(){ 

       var url = "http://vsr.informatik.tu-chemnitz.de/edu/2015/evs/exercises/jsajax/guestbook.php"; 
       $.get(url, function(data){ 
        alert("test");  
       }); 

      }); 

     </script> 

이 스크립트는 "테스트"에 경고하지 않습니다. 내 질문은 : 왜 안 되니? 뭐가 문제 야?

+0

? 내 의혹은 https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy입니다. – j08691

답변

0

아마도 브라우저의 보안이 교차 도메인 아약스 호출을 허용하지 않는 것입니다. 즉, "tu-chemnitz.de"와 같은 도메인에 있지 않기 때문에 브라우저가 귀하의 아약스 요청을 차단하고 있습니다. 이 문제를 해결하여 브라우저 보안을 해제하는 방법. 그러나 당신이 이것에 의지해야하는 경우에, 당신은 당신이하고있는 것을 다시 생각할 필요가있다. "dodgy"일을하려고하기 때문에 웹 사이트 사용자는 브라우저 보안을 확실히 끄지 않습니다.

1

귀하의 요청은 CORS 정책에 의해 차단되었습니다. 그 이유는 다음 진술을 계속할 수 없기 때문입니다.

CORS 다른 도메인에서 웹 리소스에 액세스하기위한 업계 표준입니다 :

은 고르에 대한 소개입니다. 웹 브라우저 브라우저에서 구현 한 매우 중요한 보안 개념으로, 자바 스크립트 또는 CSS 코드가 다른 출처에 대한 요청을하지 못하도록합니다.

은의이 시나리오를 생각해 보자 :

당신은 브라우저에서 열 및 도메인 2에서 자바 스크립트 파일 를 요청하는 도메인 1에서 링크를 가지고있다. 이제 웹 브라우저에서 Domain2로 전화를 겁니다. Domain2에있는 경우 도메인 2에서만 JavaScript 또는 CSS와 같은 요청을 수락하고 다른 도메인의 모든 요청을 무시하는 정책이있는 경우 브라우저의 Domain1 요청이 오류로 실패합니다. 간단한 진술 : 요청이 동일한 도메인 또는 출신 국에서 온 것이 아니라면 간단히 무시하십시오.

이것은 해킹을 방지하고 소유자의 지식없이 리소스를 도용하지 못하게하는 매우 중요한 기능입니다.

원본 호스트는 요청/응답을 허용하기 위해 Access-Control-Allow-Origin "*" 헤더를 보내야합니다.

참조 :

브라우저의 콘솔에서받을 수 있나요 어떤 오류 HTTP access control (CORS)

How to fix Access-Control-Allow-Origin (CORS origin) Issue for your HTTPS enabled WordPress Site and MaxCDN

관련 문제