jQuery XHR 在选定平台上返回错误 0

发布于 2024-12-02 18:55:57 字数 1117 浏览 0 评论 0原文

我使用下面的代码,它在某些 CE 平台上工作,但在其他平台上总是失败。我得到的消息是:

ajaxError: 0 error http://site.com/morepath/?_=1314965250990

所以成功回调不会发生

它也会发生在网络浏览器中,所以我希望有人能够指出这个简单的错误以及为什么它发生在某些而不是其他错误上。 很好的例子:在 IE9 中出错,但在 Google Chrome 中工作

Data.fetchData = function() {
var i = 0;
Data.items = new Array();

SS.log("Data.fetchData");

$.ajax({
    url: Define.feedURL,
    dataType: "xml",
    success: function(data) {
        $("#items").empty();
        $(data).find("item").each(function() {
            var item = $(this);

            Data.items[i] = {
                'title' : item.find("title:first").text(),
                'image' : item.find("url").text(),
                'subtitle' : Utils.stripChars(item.find("subtitle").text()),
                'summary' : Utils.stripChars(item.find("summary").text()),
                'video' : item.find("enclosure").attr('url'),
                'pubDate' : item.find("pubDate").text(),
                'duration' : item.find("duration").text()
            };
            i++;
        });

        Grid.build();
    }
});
};

I'm using the code below which works on some CE platforms but will always fail on others. the message I get back is:

ajaxError: 0 error http://site.com/morepath/?_=1314965250990

So the success callback doesn't happen

It also occurs in the web browser so I hope some one is able to point out the simple error and why it happens on some but not others.
Good example: Errors in IE9 but works in Google Chrome

Data.fetchData = function() {
var i = 0;
Data.items = new Array();

SS.log("Data.fetchData");

$.ajax({
    url: Define.feedURL,
    dataType: "xml",
    success: function(data) {
        $("#items").empty();
        $(data).find("item").each(function() {
            var item = $(this);

            Data.items[i] = {
                'title' : item.find("title:first").text(),
                'image' : item.find("url").text(),
                'subtitle' : Utils.stripChars(item.find("subtitle").text()),
                'summary' : Utils.stripChars(item.find("summary").text()),
                'video' : item.find("enclosure").attr('url'),
                'pubDate' : item.find("pubDate").text(),
                'duration' : item.find("duration").text()
            };
            i++;
        });

        Grid.build();
    }
});
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单调的奢华 2024-12-09 18:55:57

由于您期望来自 ajax 调用的 xml 响应,因此您应该在成功使用和遍历它之前使用 $.parseXML 解析该响应打回来。试试这个。

success: function(data) {

    data = $.parseXML(data);

    $("#items").empty();
    $(data).find("item").each(function() {
        var item = $(this);

        Data.items[i] = {
            'title' : item.find("title:first").text(),
            'image' : item.find("url").text(),
            'subtitle' : Utils.stripChars(item.find("subtitle").text()),
            'summary' : Utils.stripChars(item.find("summary").text()),
            'video' : item.find("enclosure").attr('url'),
            'pubDate' : item.find("pubDate").text(),
            'duration' : item.find("duration").text()
        };
        i++;
    });

    Grid.build();
}

Since you are expecting an xml response from the ajax call you should parse the response using $.parseXML before using and traversing through it in the success callback. Try this.

success: function(data) {

    data = $.parseXML(data);

    $("#items").empty();
    $(data).find("item").each(function() {
        var item = $(this);

        Data.items[i] = {
            'title' : item.find("title:first").text(),
            'image' : item.find("url").text(),
            'subtitle' : Utils.stripChars(item.find("subtitle").text()),
            'summary' : Utils.stripChars(item.find("summary").text()),
            'video' : item.find("enclosure").attr('url'),
            'pubDate' : item.find("pubDate").text(),
            'duration' : item.find("duration").text()
        };
        i++;
    });

    Grid.build();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文