2013-05-21 2 views
0

나는를 설정할 때 내가 '응용 프로그램/JSON'는에 응용 프로그램/JSON으로 변경하기 */*

의 동의를 헤더와 WebAPI 서비스에 아약스 요청을 보내려고 해요 서비스의 중단 점, 나는 받아들이는 헤더가 "/"이라는 것을 알 수 있습니다. 우리 코드가 우리의 "알려진"미디어 유형을 검사하고 찾지 못하면 요청을 거부하기 때문에이 방법은 효과가 없습니다.

는 여기의 현재 상태에서 아약스 요청입니다 :

내가 IE, 크롬, 파이어 폭스에서 그것을 시도했습니다
$.ajax({ 
     url: requestUrl, 
     type: 'GET', 
     accept: { 
      json: 'application/json' 
     }, 
     success: function(response, status, xhr) { 
      displayUsers(response); 
     }, 
     error: function(xhr, status, exception) { 
      alert(exception); 
     } 
    }); 

. 모두 같은. 나는 코를 사용하고있다.

+0

당신을 가지고 아약스 요청에서'dataType : json'을 지정하려고 시도 했습니까? –

+0

나는 그것을 시도했다. 같은 결과 – Sinaesthetic

답변

0

도메인 간 요청시 승인 헤더를 허용하는 응답 (또는 OPTIONS 응답, 프리 플라이트 CORS의 경우)은 Access-Control-Allow-Headers: accept입니까? 내 생각 엔 브라우저가 기본 동작 인 */*으로 전환하지 않는다는 것입니다.

+0

있습니다. 그러나 동시에 헤더가있는 경우에만 제한이 적용된다는 인상을 받았습니다. – Sinaesthetic

0

나는 여전히 진짜 문제가 무엇인지에 대한 명확한 아니지만, 나는 헤더 수집을 설정하기보다는 단지 하나가 정상적으로 할 것 같은 헤더를 수용하여 그것을 통해 얻을 수있었습니다 :

$.ajax({ 
     url: requestUrl, 
     type: 'GET', 
     headers: { 
     'Accept' : 'application/json' 
     }, 
     success: function(response, status, xhr) { 
      displayUsers(response); 
     }, 
     error: function(xhr, status, exception) { 
      alert(exception); 
     } 
    });