Javascript 为什么赢了';这个jQuery ajax调用在chrome中不起作用吗

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

我无法在Chrome中使用此$.ajax函数。当我发出ajax请求时,永远不会返回响应。当我在ChromeDevTools中查看此内容时,它表示json请求仍处于挂起状态。到目前为止,我已经找到了将这些参数添加到选项中的建议

“{type:“post”,数据:“”,缓存:false,异步: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());
        }
试试看{
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中都不起作用。