jQuery의 Ajax 메소드를 사용하여 Twitter (검색)에 간단한 요청을하는 코드가 있습니다. 코드는 Safari에서는 제대로 작동하지만 Firefox (3.6.3)에서는 실패합니다. Firefox의 경우, 내 jQuery.ajax
매개 변수 'success'가 호출되지만 제공된 데이터는 null입니다. (. 사파리에서 내가 JSON 데이터를 많이받을)jQuery.ajax가 Twitter에 성공적으로 호출되었지만 Firefox의 경우 null을 반환합니다.
내 Ajax 호출은 다음과 같습니다
$.ajax({
url: 'http://search.twitter.com/search.json?q='+searchTerm,
dataType: 'json',
async: true,
beforeSend: function(request) {
window.console.log('starting AJAX request to get Twitter data');
},
success: function(data, textStatus, request) {
window.console.log('AJAX request to get Twitter succeeded: status=' + textStatus);
callback(data);
},
error: function(request, status, error) {
window.console.log('Ajax request to get user data --> Error: ' + status);
errback(request, status, error);
}
});
방화범은 응답 헤더를 보여줍니다
Date Sun, 11 Apr 2010 22:30:26 GMT
Server hi
Status 200 OK
X-Served-From b021
X-Runtime 0.23841
Content-Type application/json; charset=utf-8
X-Served-By sjc1o024.prod.twitter.com
X-Timeline-Cache-Hit Miss
Cache-Control max-age=15, must-revalidate, max-age=300
Expires Sun, 11 Apr 2010 22:35:26 GMT
Vary Accept-Encoding
X-Varnish 1827846877
Age 0
Via 1.1 varnish
X-Cache-Svr sjc1o024.prod.twitter.com
X-Cache MISS
Content-Encoding gzip
Content-Length 2126
Connection close
HTTP 상태가 OK입니다 (200) Content-Type이 적절하게 application/json
이고 2126 (gzip'd)의 Content-Length는 데이터가 다시 돌아 왔음을 의미합니다. 그러나 Firebug은 Response가 비어 있음을 나타내고, 제공된 데이터를 테스트하면이 응답이 'null'로 표시됩니다. 내가 스택 오버플로 유사한 게시물의 알고
, jQuery $.get() function succeeds with 200 but returns no content in Firefox하고이 문제를 생각할 겁니다로부터 크로스 도메인 보안 관련 가능성이있다,하지만 ... 내가 거기에 많은 자바 스크립트 위젯하고 이것 저것 Ajax를 얻을 것을 알고있다 트위터의 데이터. 이를 허용하기 위해 필요한 것이 있습니까?
아, 확실히 도메인 간 보안 정책에 문제가 있습니다. "& 콜백 =?"을 추가했습니다. GET 요청에 응답하고 모두 작동합니다. – Zhami
콜백 옵션이 추가 된 원래 게시물을 업데이트 할 수 있습니까? - 감사! –
@ Zhami : 답변 한 경우 솔루션을 답변으로 게시해야합니다. –