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

他の詳細を見ずに提案することは困難です。それでも私は試しています。あなたが言及した要素のIDがHTMLの場合と同じであることを確認してください。HTMLで、1つのIDが複数の要素に割り当てられていないことを確認してください。

AJAXコードjsonp: 'jsoncallback',でしばらく削除し、機能しているかどうかをテストします。

于 2012-05-28T05:25:34.817 に答える
0

コードをデバッグするには:

  • 自分でエラーを生成していますか?それは本当にエラーですか?Firebug または ... を介してリクエストを追跡します。
  • エラー関数の実行について確認してください。もう一度 Firebug などを試してブレークポイントを設定してください。
  • JavaScript コンソールをチェックして、いまいましい JavaScript エラーがないことを確認します。そして再びFirebugエラーコンソール。
于 2012-05-28T04:43:11.577 に答える
0

エラー (jqXHR、textStatus、errorThrown)

リクエストが失敗した場合に呼び出される関数。関数は 3 つの引数を受け取ります。jqXHR (jQuery 1.4.x では XMLHttpRequest) オブジェクト、発生したエラーの種類を説明する文字列、およびオプションの例外オブジェクト (発生した場合) です。2 番目の引数 (null 以外) に指定できる値は、"timeout"、"error"、"abort"、および "parsererror" です。HTTP エラーが発生すると、errorThrown は「Not Found」や「Internal Server Error」などの HTTP ステータスのテキスト部分を受け取ります。jQuery 1.5 以降、エラー設定は関数の配列を受け入れることができます。各関数が順番に呼び出されます。注: このハンドラは、クロスドメイン スクリプトおよび JSONP リクエストでは呼び出されません。これは Ajax イベントです。

この場合の重要な部分はどこですか。

注: このハンドラは、クロスドメイン スクリプトおよび JSONP リクエストでは呼び出されません。

jQuery.ajaxの API ドキュメントから引用します。

代わりに を使用する必要がありますjsonpCallback

于 2012-05-28T05:42:39.617 に答える