2016-03-22 13 views
2

JavaScriptを使用してJSONオブジェクトの配列の解析に問題があります。私はその後、json_encodeを介して実行JavaScriptを使用したJSONオブジェクトの配列の解析

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [name] => holly 
      [text] => Text 1 
     ) 
    [1] => Array 
     (
      [id] => 2 
      [name] => Becky 
      [text] => Text 2 
     ) 
) 

は(これを取得するには:私のPHPファイルには、このようなデータベースの情報を取得します

このデータは、ここからJavaScript関数を経由して呼び出される
"[\r\n {\r\n  \"id\":\"1\",\r\n  \"name\":\"holly\",\r\n   
\"text\":\"Text 1\"\r\n },\r\n {\r\n  \"id\":\"2\",\r\n  
\"name\":\"Becky\",\r\n  \"tet\":\"Text 2\"\r\n }\r\n]" 

http://oscargodson.com/posts/unmasking-jsonp.html

私が解析できるものはコールバックで返されません。私はconsole.log(json)を実行すると[Object Object]を取得します。PHPの結果はChromのSourcesタブeのWeb開発者はphpファイルとjsonifiedテキストを表示します。私は解析するためにJavaScriptに送る方法を理解できません。

私はたくさんの「重複した」質問を読みましたが、多くの人がJSON.stringify()を使用していますが、何の結果も得られません。

私のPHPでエラーが発生していますか、JavaScriptを正しく使用していませんか?助けてください。

+0

ソースデータはjsonです。jsonをjsonにエンコードする理由は何ですか? 'Content-type:application/json'を私が間違っていない場合に設定し、ajax関数jQuery jsonで型を設定した場合。コールバック関数の最初のパラメータ – Naumov

+0

でdata.your_dataを取得することができます。正しいPHP print_r() – JsusSalv

+0

もjQueryを使用せずに投稿を編集しました。 JavaScriptを使用する場合は – JsusSalv

答えて

0

記事のJSONP()関数は、データベースのデータでは機能しませんが、同じデータがハードコードされている場合には機能します。奇妙な。

var result = [ 
    {"id":"1","name":"holly","text":"Text 1"},  
    {"id":"2","name":"Becky","text":"Text 2"} 
]; 

for (var i = 0; i < result.length; i++) { 

} 

weird。その関数が期待どおりに返されない理由はわかりませんが、jQueryが$ .getJSON()を持っているので、毎回これを実行する必要はありません。

あなたは、プレーン

json_encode($data) 

を通して、あなたのデータを実行したい。しかし、このコールに渡されるその他の引数注意してください

-1
$.ajax(
{ 
    url: "callback/yourcallback.php", //at the end echo json_encode($array); 
    dataType: "jsonp", 
    data: { paramname: paramvalue}, 
    type: "POST" 
}) 
.done(function(data) 
{ 
    var response=$.parseJSON(data); 
     console.log(response); 
}); 
0

- なぜならあなたが投稿した文字列(JSONエンコード関数の結果)での - あなたはそれを持っていたかなりプリント。 JSONPがこのようなリソースを呼び出す主な理由は、おそらく、データがきれいに印刷されていることです。

関連する問題