2016-11-24 2 views
0

申し訳ありません.Jsonを使用してPHPからAjax(完全に動作する)にデータを送信していますが、なぜその応答を分割したいのですか?PHPからAjaxで配列を分割する

どのように使用するのですか?たとえば、すべての要素に警告しますか?

$.ajax({   
      url:"myHandler.php", 
      type:"POST", 
      data:{function:"rxz", xLast:xx, yLast:yy}, 
      dataType:'json', 
      success:function(data){ 
       alert(data); //How do I alert EVERY single data element on its own? 
      }, 
      error:function(data) { console.log(data); } 
     }); 

PHPからのものがこの

print json_encode(array($json_array,$from,$to)); 

のように送られ、それは基本的に配列&を送信

+0

これにはそれぞれループを使用しましたか? – sheetal

+0

$ json_arrayのためにarray_pushを使用しましたが、それはループ内にあることを意味しています。 –

答えて

1

あなたが返すようにPHPを再構築していないのはなぜそれの内側からとに含まれてい適切な配列。このような何かは、取り扱いが容易になります:

あなたは、あなたのjQueryの内を繰り返し処理できる
print json_encode([ 
    'data' => $json_array, 
    'from => $from, 
    'to' => $to 
]); 

あなたもあなたの中に「適切な」実践とリターンステータスコードを使用することができ
jQuery.each(data.data, function(i, element) { 
    alert(element); 
}); 

json([....'status' => true/false ....])を使用して、結果を正しく表示することができます。

+0

実際にうまくいく音。ありがとう、悪いそれを試してください –

+0

まあまあ私はそれを試みたが、何も出ていない。警告が表示されていません –

+0

@TomislavNikolicあなたのコンソールにエラーがないかチェックしましたか? – Darren

1

あなたは、JSONの結果

success: function(data){ 
     $.each(data, function(index, value){ 
       alert(value); 
     }); 
} 
0

バニラのJavascriptの一つ一つの要素に対して警告を示すために、各ループを使用することができます。

for (var i=0; i < data.length; i++) 
    alert(data); 

が今ここにトリッキーな部分です。データ内のすべての要素がスカラである場合、あなたはうまくいくはずですが、要素のいずれかが配列またはオブジェクトの場合、アラートには[Object]が得られます。だから、結果の期待通りに正しい書式を設定するか、JSON.stringify(element)関数を使ってそのオブジェクトを文字列表現に変換してください。これは次のようになります:

for (var i=0; i < data.length; i++) 
    alert(JSON.stringify(data));