2016-07-01 28 views
0

jqueryのgetJSON()を使用して外部jsonファイルをvarに割り当てようとしています。私のJSONファイルでは、私はoutpと同じ正確なコードを持っています。私がconsole.logにしようとすると、データvarに何が入っているのかは、readyState1だけを示しています。つまり、私はサーバーに接続していますが、なぜ要求が継続していないのですか?jqueryのgetJSON()でJsonファイルを読み込まない

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var url = "content.json" 
    var outp = { 
        low   : 0, 
        high  : 99, 
        name  : "Fritz", 
        rufnummer : "012", 
        faxnummer : "345", 
        mobil  : "678", 
        mail  : "[email protected]", 
       } 

    $('#find').on("click", function(){ 

     var data = $.getJSON(url); 

     console.log(data); 
     console.log(outp); 
     console.log("Hi"); 

    }); 
}); 
</script> 
</head> 
<body> 
    <p>Postleitszahl:</p> 
    <input type="number" autocomplete="on" name="inp" id="inp"> 
    <button type="button" id="find">Finden</button> 
    <p class="output"></p> 
</body> 
</html> 

答えて

0

メソッド$ .getJSONは非同期呼び出しを実行します。つまり、受信したデータを戻り値として取得しません。 サーバーから送信された応答を、アクセスするためには、あなたがコールバックを登録する必要があります。

$.getJSON(url, function(data) { 
     console.log(data); 
     //do what you need to do with your data here 
}); 

参照http://api.jquery.com/jquery.getjson/

希望、これは助けのための

+0

感謝を助け、私は変更をしたが、今、私のconsole.logに何も表示されません! varrデータは今、jsonからオブジェクトを保持する必要があります。 – Niqql

+0

定義された関数は、要求が成功した場合にのみ呼び出されます。 「getJSON」「要求の成功」の場合は、応答は有効なjsonであり、応答にはヘッダー「Content-Type:application/json」も含める必要があります。さらなるデバッグについては、参照リンク、特に「The jqXHR Object」セクションを参照してください。 –

0

$.getJSON実行非同期:ここに私のコードです。現在のコードでは、リクエストが完了する前にデータにアクセスしようとしています。

応答にアクセスするには、成功コールバックを使用する必要があります。

$.getJSON(url, function(data) { 
    console.log(data); 
    console.log(outp); 
    console.log("Hi"); 
}); 
関連する問題