jQuery 1.7.1을 사용하여 원격 도메인에있는 Ruby on Rails 애플리케이션을 쿼리하는 스크립트가 있습니다. 이 스크립트는 Chrome 및 IE9에서도 정상적으로 작동하지만 Firefox에서는 작동하지 않습니다. 파이어 폭스에서 난 단지 "beforeSend을"다면,Crossdomain jQuery.ajax가 firefox 8에서는 작동하지 않지만 Chrome/IE에서는 작동합니다.
Informer= {
getData: function(args)
{
$.ajax({
dataType: 'jsonp',
data: args,
url: 'http://localhost:3000/informer.js',
beforeSend: function() {
alert("beforeSend");
},
error: function() {
alert("error");
},
success: function (data) {
alert("success");
},
complete: function(){
alert("complete");
}
});
}
}
내가 크롬에 따라서이
$(document).ready(function()
{
Informer.getData(someArgs);
});
과 같이 호출 내가 3 경고를 얻을 : 여기
는 스크립트입니다. 나는 또한 방화범에 대한 요청을 보지 못했다.확실히 URL과 관련이 있습니다. 나는 그것을 http://jsfiddle.net/echo/jsonp/으로 바꿨고 효과가 있었다. 하지만 여전히 2이는 이유는 다음과 같습니다
UPD 한마디로
, 여기에 내가 지금까지이 작업은 다음과 같습니다
- 그것은 (3 시간 낭비 모든 어제 나를 위해 작동하지 않았다, 한숨) 그리고 그것은 오늘한다. 그것은 항상 요청이
- 스크립트가 실패 방화범 에 표시되지 크롬과 IE
- 에서 작동
- 는 (의미, 나는 단지 beforeSend 경고를 얻을), 내 응용 프로그램의 로그가 업데이트되지 않습니다 (나는 가정 FF는 요청을 보내지 않음)
- 결과가없는 jquery-jsonp를 사용해 보았습니다.
- 11 명의 사용자 중 10 명이 FF8로 스크립트가 작동했다고보고했습니다.
Here's interrested 사람들을위한 테스트 스크립트 (있는 경우)
URL이 있는지 확인하십시오. 다른 JS 파일로 AJAX 호출을 하시겠습니까? – Jemaclus
이봐, Jemaclus. 내가 말했듯이, 스크립트는 Chrome에서 완벽하게 작동하므로 URL이 확실하게 존재합니다. informer.js는 실제로 파일이 아닙니다. JSONP를 반환하는 레일즈 액션의 루비입니다. – bassneck
재미있게하기 위해 나는 이것을 다음과 같이 정리했다 : http://jsfiddle.net/MarkSchultheiss/NKgyM/ sample. 이제 내 질문은 당신이 사용하고있는 URL에 오류가 없다면 어떤 브라우저에서도 오류 (경고 오류)가 발생하는 이유입니다. –