为什么这个jQuery ajax调用不能在chrome中工作
我无法让这个$ .ajax函数在Chrome中工作。 当我发出ajax请求时,永远不会返回响应。 当我在Chrome开发工具中查看它时,它表示json请求仍在等待处理。 到目前为止,我已经找到了将这些参数添加到选项的建议。
'{type:“post”,data:'',cache:false,async:false}'
但是,这些选项都不能使它工作。
try {
var o = {username: 'adobeedge', count: 4};
var twitterUrl = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + o.username + '&count=' + o.count;
$("body").append('<p>attempting ajax</p>');
$.ajax({url: twitterUrl,
dataType: 'jsonp',
type: "post",
data: '',
cache: false,
async: false,
})
.success(function(data) {
$.each(data, function(index, item) {
$("body").append(item.text);
});
}) ;
}
catch (error) {
alert("Error: " + error.toString());
}
下面的代码在我的情况下工作正常
我的镀铬版本:23.0.1271.95米
try {
var o = {username: 'adobeedge', count: 4};
var twitterUrl = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + o.username + '&count=' + o.count;
$("body").append('<p>attempting ajax</p>');
$.ajax({url: twitterUrl,
dataType: 'jsonp',
type: "post",
data: '',
cache: false,
async: false,
})
.success(function(data) {
$.each(data, function(index, item) {
$("body").append(item.text);
});
}) ;
}
catch (error) {
alert("Error: " + error.toString());
}
我不知道这是否会有所帮助,但我从来没有见过在ajax调用之外附加的成功功能。 我看过的所有jQuery ajax文档都显示了附加到末尾的“.done”。 不过,我只看到成功定义为实际ajax调用本身内的选项。 你可以尝试重写它如下:
$.ajax({
url: twitterUrl,
dataType: 'jsonp',
type: "post",
data: '',
cache: false,
async: false,
success: function(data) {
$.each(data, function(index, item) {
$("body").append(item.text);
});
}
});
看看这是否有帮助。 还有另一个堆栈溢出文章,也可能对你有一些帮助。 本文介绍“成功:”与“.done”的不同用途。 有关.ajax文档的更多信息,请访问.ajax的jQuery API文档。
希望这可以帮助。
jsonp
不支持同步调用。 试试async: true
。
我无法尝试它,因为我在一个办公室里工作,那里的Twitter被阻止。
链接地址: http://www.djcxy.com/p/96479.html