为什么这个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

上一篇: Why won't this jQuery ajax call work in chrome

下一篇: jQuery AJAX cross domain