0

我的问题恰好是错误,我试图产生错误,在这种情况下,错误是隐藏加载符号并显示刷新按钮,以便用户重新加载页面以查看这次是否加载数据。

$(document).ready(function () {
    $('#busy').show();
    $(document).bind('deviceready', function () {
        var today = $('#todaysong');

        $.ajax({
            url: 'my url',
            dataType: 'jsonp',
            jsonp: 'jsoncallback',
            timeout: 5000,
            success: function (data, status) {
                $.each(data, function (i, item) {
                    var song = '<name>' + item.name + '</name>' + '<artist>' + item.artist + '<br></artist>';
                    $('#busy').hide();

                    today.append(song);
                });
            },
            error: function (error) {
                $('#busy').fadeOut();
                $('#reload').fadeIn();
            }
        });
    });
});

这是我的代码,有人可以告诉我我做错了什么吗?我尝试了一些东西,但似乎无法让它工作,我是否会这样说按钮能够刷新这段单独的代码?

非常感谢。

4

3 回答 3

0

错误(jqXHR,textStatus,errorThrown)

请求失败时调用的函数。该函数接收三个参数:jqXHR(在 jQuery 1.4.x 中,XMLHttpRequest)对象、描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数(除了 null)的可能值是“timeout”、“error”、“abort”和“parsererror”。发生 HTTP 错误时,errorThrown 会接收 HTTP 状态的文本部分,例如“未找到”或“内部服务器错误”。从 jQuery 1.5 开始,错误设置可以接受一个函数数组。每个函数都会被依次调用。注意:跨域脚本和 JSONP 请求不调用此处理程序。这是一个 Ajax 事件。

在这种情况下,重要的部分在哪里;

注意:跨域脚本和 JSONP 请求不调用此处理程序。

引用自jQuery.ajax的 API 文档。

您应该改为使用jsonpCallback.

于 2012-05-28T05:42:39.617 回答
0

如果没有看到其他细节,很难提出建议。我还在尝试.. 检查您提到的元素的 ID 是否与 HTML 中的相同。在 HTML 中检查一个 id 没有分配给多个元素。

在 AJAX 代码中删除jsonp: 'jsoncallback',一段时间并测试它是否工作。

于 2012-05-28T05:25:34.817 回答
0

为了调试您的代码:

  • 你自己产生错误吗?真的是错误吗?通过 Firebug 或...跟踪您的请求
  • 确保运行错误功能。再次尝试 Firebug 或类似的东西来设置断点。
  • 检查 JavaScript 控制台以确保没有任何该死的 JavaScript 错误。再次 Firebug 错误控制台。
于 2012-05-28T04:43:11.577 回答