2011-03-31 4 views
1

나는이 같은 함수를 호출하고있어 실패jQuery를 아약스는 알 수없는 이유로

[6192] MyData: $.support.cors: true 
[6192] MyData: getting data({0}) 
[6192] MyData: https://_some_root_/data/ 
[6192] MyData: data request failed with Unknown: Unknown 
[6192] MyData: data request completed: Unknown 

I을 찰스를 사용하여 모니터,이게 내가 얻은 것입니다 :

https://_some_root_/ 
Failed 
No request was made. Possibly the certificate was rejected. 
- 
HTTP/1.0 
CONNECT 
- 
/127.0.0.1 
_some_root_/_some_ip_address_ 

3/31/11 3:15:28 PM 
- 
- 
- 
- 
- 
- 
- 
0.02 KB/s 
- 

366 bytes 
- 
- 
- 
366 bytes 
- 
- 

그리고 요청이 탭에서 볼 수 있습니다. n 오른쪽으로 보임 (승인 헤더가 없음).

CONNECT _some_root_:443 HTTP/1.0 
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; Tablet PC 2.0) 
Host: _some_root_:443 
Content-Length: 0 
Proxy-Connection: Keep-Alive 
Pragma: no-cache 

무엇이 제공됩니까? 인식 할 수없는 인증서 또는 그와 같은 프롬프트가 없습니다. 단지 실패합니다. (브라우저에서 GET 요청을하면 잘 작동합니다.)

+0

당신이 시도 할 수 있습니다 AJAX 요청에'cache : false'를 추가 했습니까? –

+0

@ LekisS : 시도했지만 작동하지 않았습니다. 놀랍지는 않습니다 :'dataType : "json"'에 대해서,'cache'는 기본적으로 false로 설정됩니다. –

+0

@ben이 교차 도메인 아약스입니까? – kjy112

답변

2

이 해결 방법/해킹에

jQuery.support.cors = true; 
  • 주석에

    jQuery.support.cors = testXHR && ("withCredentials" in testXHR); 
    

    에서 jQuery를 소스를 변경하는 기자에 따르면 a known bug

    1. 것으로 보인다 벌레는 말할 것이다 :

      버그 보고서를 보내 주셔서 감사합니다.하지만 이것은 이며 jQuery 버그가 아닙니다. Windows 7 가젯은 이며 지원되는 jQuery 플랫폼이 아닙니다. 새 Ajax의 전송 레이어는 플러시 가능하므로 정상적인 도메인 간 지원을 무시하거나 사용자가 직접XDomainRequest를 사용하는 맞춤 전송을 포함해야합니다.

    2. ... 그리고

      또는, 더 간단하게, jQuery를 해킹하지 않고 스크립트에서 true로 설정 jQuery.support.cors)

  • +0

    ajax 호출 바로 전에'$ .support.cors = true'가 표시되는 디버그 로깅 출력을 주목하십시오. –

    +0

    @Ben Doh! 못 봤어, 미안해! –

    관련 문제