我有这个脚本使用jQuery 1.7.1查询我的Ruby on Rails应用程序(位于远程域上)。该脚本在Chrome中运行良好,甚至在IE9中也可以,但在Firefox中则不行。
这是脚本:
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);
});
所以在chrome中我得到3个警报,而在firefox中我只得到“beforeSend”。我也没有在萤火虫中看到任何要求。
它肯定与URL有关。我将其更改为http://jsfiddle.net/echo/jsonp/并且有效。 但我还有两个原因:
UPD
简而言之,这就是我到目前为止所拥有的:
Here's针对那些被捕者(如果有的话)的测试脚本
答案 0 :(得分:1)
只是为了让你的有效:(我为你的插入了你的...你不知道你在那里有什么和伪造的args)你可以测试一下:
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");
}
});
},
howdy: {}
};
var someArgs = {
hi: "me"
};
$(document).ready(function() {
Informer.getData(someArgs);
});
编辑:修复了参数问题:http://jsfiddle.net/MarkSchultheiss/NKgyM/
并将其设置为回显返回的值。