我无法让这个$ .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());
}
答案 0 :(得分:1)
以下代码在我的情况下正常工作
我的Chrome版本:23.0.1271.95 m
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());
}
答案 1 :(得分:0)
我不知道这是否有任何帮助,但我从未见过在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);
});
}
});
看看这是否有帮助。还有另一个Stack Overflow Article也可能对你有所帮助。本文介绍了“success:”与“.done”的不同用法。有关.ajax文档的更多信息,请访问.ajax的 希望这有帮助。
答案 2 :(得分:0)
jsonp
不支持同步调用。试试async: true
。
我无法尝试,因为我在Twitter被阻止的办公室工作。
答案 3 :(得分:0)
我今天在OSX 10.8.2上完全打补丁的Chrome上与这个问题进行了斗争,其中包含您描述的确切症状。这是我通过谷歌找到的问题的唯一提及。
原来这是由一个名为Disconnect的以隐私为中心的扩展引起的。
尝试停用扩展程序,看看是否能解决问题。希望这会有所帮助。