Javascript 为什么赢了';这个jQuery ajax调用在chrome中不起作用吗
我无法在Chrome中使用此$.ajax函数。当我发出ajax请求时,永远不会返回响应。当我在ChromeDevTools中查看此内容时,它表示json请求仍处于挂起状态。到目前为止,我已经找到了将这些参数添加到选项中的建议 “{type:“post”,数据:“”,缓存:false,异步:false}” 然而,所有这些选项都无法实现Javascript 为什么赢了';这个jQuery ajax调用在chrome中不起作用吗,javascript,jquery,ajax,google-chrome,Javascript,Jquery,Ajax,Google Chrome,我无法在Chrome中使用此$.ajax函数。当我发出ajax请求时,永远不会返回响应。当我在ChromeDevTools中查看此内容时,它表示json请求仍处于挂起状态。到目前为止,我已经找到了将这些参数添加到选项中的建议 “{type:“post”,数据:“”,缓存:false,异步:false}” 然而,所有这些选项都无法实现 try { var o = {username: 'adobeedge', count: 4}; v
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());
}
试试看{
var o={username:'adobeedge',计数:4};
var twitterUrl=http://api.twitter.com/1/statuses/user_timeline.json?screen_name=“+o.username+”&count=“+o.count;
$(“body”).append(“ajax”);
$.ajax({url:twitterUrl,
数据类型:“jsonp”,
类型:“post”,
数据:“”,
cache:false,
async:false,
})
.成功(功能(数据){
$。每个(数据、功能(索引、项目){
$(“正文”).append(item.text);
});
}) ;
}
捕获(错误){
警报(“错误:+Error.toString());
}
我不知道这是否有帮助,但我从未见过ajax调用外部附加的成功函数。我看过的所有jQueryAjax文档都显示了结尾附加的“.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);
});
}
});
看看这是否有帮助。还有另外一种可能对你也有帮助。本文描述了“success:”与“done”的不同用法。有关.ajax文档的更多信息,请访问的jQueryAPI文档
希望这有帮助。
jsonp
不支持同步调用。尝试async:true
我无法尝试它,因为我在一个twitter被屏蔽的办公室工作。以下代码在我的情况下运行良好 我的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());
}
试试看{
var o={username:'adobeedge',计数:4};
var twitterUrl=http://api.twitter.com/1/statuses/user_timeline.json?screen_name=“+o.username+”&count=“+o.count;
$(“body”).append(“ajax”);
$.ajax({url:twitterUrl,
数据类型:“jsonp”,
类型:“post”,
数据:“”,
cache:false,
async:false,
})
.成功(功能(数据){
$。每个(数据、功能(索引、项目){
$(“正文”).append(item.text);
});
}) ;
}
捕获(错误){
警报(“错误:+Error.toString());
}
我今天在OSX 10.8.2上的一款完全修补的Chrome浏览器上解决了这个问题,您描述了它的确切症状。这是我能通过谷歌找到的关于我的问题的唯一一次提及
原来这是由一个名为的以隐私为中心的扩展引起的
尝试禁用扩展,看看这是否解决了问题。希望这有帮助。您是否查看了开发工具中的请求/响应以了解可能发生的情况?控制台中是否有任何错误?能否比“不工作”更具体一些?它失败了吗?还是你得到了你意想不到的结果?任何错误消息或HTTP代码?对我来说都很好。。。当我在dev工具中查看请求/响应时,它显示了json调用并表示它“挂起”。当我说它不工作时,我的意思是永远不会检索json对象。Dusan,您是否在chrome以外的浏览器中加载了jsfiddle.net站点?当我在Firfox中加载它时,你的链接确实显示它在工作,但在Chrome中没有。我已经试过了。当jQuery实现了一个名为jqXHR的东西时,调用外部附加了.success。我也找到了一些关于这个的文档。请注意,与此jqXHR对象相关联的回调(如.success、.error等)在JQuery1.8版本时已被弃用。您应该使用.done()和.fail()来代替它。当我将success改为done时,ajax调用在chrome或firefox中都不起作用。