2014-01-17 3 views
0

Chrome (버전 32.0.1700.77)에서 CORS 요청을하는 데 문제가 있습니다. 올바른 프리 플라이트 헤더가 전송되고 있으며 기본 요청 중에도 전송되고 있다는 점이 긍정적입니다. 나는 "application/json"으로 설정된 contentType 매개 변수로 jQuery $ .ajax를 사용하고 있다고 덧붙여 야합니다. contentType 인수의 존재가 문제를 일으키는 것으로 보입니다 (문제가 없으면 문제없이 작동합니다).액세스 제어 허용 원산지 수수께끼

다음은 OPTIONS 요청의 출력입니다.

HTTP/1.1 200 OK 
X-Powered-By: Express 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Headers: Authorization, Content-Type, X-Requested-With 
Access-Control-Allow-Methods: GET, POST, PUT, DELETE 
Content-Type: text/plain 
Content-Length: 2 
Date: Fri, 17 Jan 2014 04:58:43 GMT 
Connection: keep-alive 

그리고 여기가 주 POST 요청의 출력이다 ((401)이 예상됩니다) :

HTTP/1.1 401 Unauthorized 
X-Powered-By: Express 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Headers: Authorization, Content-Type, X-Requested-With 
Access-Control-Allow-Methods: GET, POST, PUT, DELETE 
Content-Type: application/json; charset=utf-8 
Content-Length: 36 
Date: Fri, 17 Jan 2014 05:00:05 GMT 
Connection: keep-alive 

문제는 크롬 일부에 대한 액세스 제어 - 허용 - 원산지 응답 헤더를 인식하지 않는다는 것입니다 이유를 표시하고 오류 콘솔에 다음 줄을 표시합니다.

XMLHttpRequest는 http://site1.dev:3000/api/v1/pathways을로드 할 수 없습니다. 'Access-Control-Allow-Origin'헤더가 요청 된 리소스에 없습니다. 따라서 원점 'http://site2.dev:8000'은 액세스 할 수 없습니다.

아이디어가 있으십니까?

답변

0

Chrome이 API 서버에서 500 오류를보고하지 않는 것으로 나타났습니다. 도!

관련 문제