2016-09-18 15 views
1

JSONを出力するPHPページがあります。ページが読み込まれた後、jQuery AJAXを使用してJSONを出力したいと思います。しかし、何も起こっていません。 alert()ダイアログは表示されず、JavaScriptコンソールでも動作しません。私のjQuery AJAX呼び出しで何が問題になっていますか?jQueryを使用してPHPからJSONを出力するページ

<script type="text/javascript"> 
jQuery.ajax({ url: 'http://www.domain.com/page.php', 
    dataType: 'json', 
    success: function(data) { 
     var obj = jQuery.parseJSON(data); 
     alert(obj.json_array[0]); 
     alert(obj.json_array[1]); 
     alert(obj.json_array[2]); 
    } 
}); 
</script> 

PHPは次のとおりです。PHPで

<?php 
$array = [ 
    'foo' => 'bar', 
    'bar' => 'foo', 
    'int' => 4 
]; 

$json_array = json_encode($array); 
echo $json_array; 
?> 

答えて

1

は、あなたが各要素はキーと値を持つ配列を持つことができますが、JavaScriptでそれを解析したら、それが対象となります。したがって、[0][1]、または[2]を使用すると無効です。 foobar、またはintを使用する必要があります。また、文字列をエコーすると、文字列を保持する変数の名前は保存されません。保存された(エコーされた)唯一のものは、文字列です。あなたの例では、echo $json_array;{"foo":"bar","bar":"foo","int":4}をエコーし​​、解析するとオブジェクトを取得します。したがって、obj.json_arrayと言う必要はありません。ちょうどobjと言います。だから、

alert(obj.foo); 
alert(obj.bar); 
alert(obj.int); 
+0

こんにちはHowziekyと

alert(obj.json_array[0]); alert(obj.json_array[1]); alert(obj.json_array[2]); 

を交換し、あなたの問題を解決するために、私は(obj.foo)を警告するためにそれを変更。しかし、まだ何も起こっていません。アラートは表示されず、JavaScriptコンソールでも機能しません。 –

+0

'obj'を設定した直後に' console.log(obj) 'を置くことができますか?それは何と言いますか? – Howzieky

+0

私は取得します:Uncaught ReferenceError:objが定義されていません –

関連する問題