1

申し訳ありませんが、私は完全な JSON 初心者です。外部ファイルから json 情報のファイルを読み込もうとしていますが、情報が読み込まれたかどうかを確認する方法がわかりません。これが私がこれまでに持っているものです:

$(document).ready(function(){
    $.ajax({
        dataType: 'json',
        success: function(string) {
            data = $.parseJSON(string);
            console.log(data);
            alert(data);
            document.write(data);
        },
        url: 'http://www.site.com/mystuff.php'
    });  
});

ご覧のとおり、情報がロードされているかどうかを確認するためにあらゆる種類のものを入れてみましたが、何もロードされていません。何かを手に入れたかどうかをどうやって知ることができますか? 私は本当に助けていただければ幸いです!

4

2 に答える 2

1

すでに指摘したように、次の 2 点が挙げられます。

  • データ型を JSON として設定する場合、文字列を解析する必要はありません
  • リクエストが正常に返されたかどうかを確認します

これは次のようになります。

$(document).ready(function(){
    $.ajax({
        dataType: 'json',
        success: function(json) {
            console.log(data);
        },
        error : function(xhr, text) {
            console.log('An error occurred', xhr, text);
        },
        url: 'http://www.site.com/mystuff.php'
    });  
});

データ型を JSON に設定する場合、mystuff.php でContent-Typeヘッダーが次のように設定されていることも確認する必要がありますapplication/json

<?php
    header('Content-Type: application/json');
?>
于 2012-09-21T16:05:21.397 に答える
0

再度 json に解析する必要はありません。オブジェクトを直接使用できます。また、エラー関数を追加して、エラーが発生しているかどうかをチェックします。

$(document).ready(function(){
    $.ajax({
        dataType: 'json',
        beforeSend : function() {
           console.log('Before Ajax Request Starts !!');
        },
        success: function(data) {
            console.log(data);
            alert(data);
            document.write(data);
        },
        error : function(jqXHR, textStatus, errorThrown) {
             alert("Error occurred: " + errorThrown);
        },
         beforeSend : function() {
           console.log('Ajax Request Complete  !!');
        },
        url: 'http://www.site.com/mystuff.php'
    });  
});

これにより、すべてのステップでフィードバックが確実に得られます。

于 2012-09-21T16:05:17.340 に答える