2014-10-31 2 views
2

바이올린을 사용하면 IE11이 교차점 인 경우 아약스 요청을하지 않는 것처럼 보입니다. FF 및 Chrome은 요청을 처리하고 리소스 API가 필요한 헤더를 보내지 않으면 오류를 발생시킵니다. 필자의 경우 리소스 API (Web API 2.0)는 adding required headers이며 IE가 요청을하는 데 도움이되지만 그렇지 않습니다.IE11이 CORS 요청을 시작하지 않음

클라이언트의 자바 스크립트 :

jQuery.support.cors = true; 

$.fn.somePlugin = function() { 
    $.ajax({ 
     url: apiUrl + '/articles/list/', 
     type: 'GET', 
     crossDomain: true 
    }).done(
     function (data, textStatus, xhr) { 
      console.log('hello world!'); 
     }); 
    return this; 
} 

Ajax 요청은 위의 크롬과 FF에서 완벽하게 작동하지만 IE11한다.

이 나는 ​​시도했다 :

  1. 어떤 효과없이 XDomainRequest.js에 대한 참조를 추가.
  2. IE 보안 옵션에서 교차 출처 요청을 허용합니다. 모든 클라이언트 컴퓨터에서이 작업을 수행하는 것이 이상하게 보일지라도. 그럼에도 불구하고 아무런 차이가 없었습니다.
+0

IE 11에서이 http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_get을 시도해 보았습니다. 문제가 다른 곳에 낳습니다. –

+0

@ PiotrŁużecki jQuery $ .ajax 및 $ .getJSON 메서드를 사용하고 있습니다. 모든 코드를 일반 XMLHttpRequest 객체로 변경하고 싶지는 않습니다. – joym8

+1

@ PiotrŁużecki 또한 샘플 코드에서 크로스 원점 요청을하는 곳을 볼 수 없습니다. – joym8

답변

0

동일한 문제가있었습니다. XMLHttpRequest(), $ .ajax() 또는 $ .ajax 단축키를 사용하여 CORS 데이터를 검색 할 수 없습니다. 문제는 localhost로 밝혀졌습니다 (IIS WinPro7). , 네트워크 오류 0x80070005와 : 모든 AJAX CORS 요청은

XMLHttpRequest를 다음에, 액세스 제어 - 허용 - 원산지 헤더에

오류를 발견하지 않은

원산지 http://localhost을 생성하는 preflighted했다 액세스가 거부되었습니다.

HTML 페이지를 웹 서버로 옮길 때 문제가 없습니다.

+0

내 api와 클라이언트는 이미 IIS 웹 서버에 있습니다. – joym8

관련 문제