2011-08-09 30 views
1

jsonを使用してphpからjqueryに配列を送信したいと思います。受信した配列が配列から要素を取得する問題があります。jqueryの配列要素をPHPから取得する方法

私はこれをしなかった:私は、配列を反復処理するとき、それは奇妙な要素を

<?php 
    $result[0] = 1; 
    $result[1] = 6; 
    echo json_encode($result); 
?> 

<script type="text/javascript"> 
$("#saveOrder").click(function(){   
    var customerName = $('input#customerName').val(); 
    var param = {"customerName":customerName,"action":"addOrder"}; 
    $.ajax({ 
      url: "controllers/Order.controller.php", 
      type: "POST",  
      data: param,     
      cache: false,  
      success: function (result) {   
     alert("result"+result); 
     $.each(result,function(i,elem){ 
      alert(i+"_"+elem); 
     }); 

     var suc = result[0]; 
     alert("suc"+suc); 
     var orderId = result[1]; 
     alert("id"+orderId); 
       if (suc==1) {  
        $('#resultMsg').text("success"); 

       } else {    
      $('#resultMsg').text("error"); 
     } 
      }  
     }); 
     }); 
</script> 

表示!

first,second, third and forth 
     loops : display nothing 
fifth loop : display [ 
sixth loop : display 1 
seventh loop : display , 
eighth loop : display 6 
ninth loop : display ] 

どのように要素を取得できますか?

+0

奇妙な要素は、JSON配列文字列 '[1,6]'返されるの文字です。 – andyb

+0

はい私はそれを知っていますが、最初の4つの要素は空ですが、それは何ですか? – sahar

答えて

3

結果はJSON文字列です。 JSON.parseを使用して配列を取得します。

+0

that works :)、ありがとうございます – sahar

0

AJAX呼び出しの中で、dataType: "json"を追加するか、JSON.parse(result)を使用して結果からJSONオブジェクトを取得できます。あなたがdataTypeパラメータを設定していない

0

、次の手順に従ってください。

dataType: "json" 
+0

私はjquery 1.7を使用していますので、追加する必要はありません(dataType: "json") – sahar

関連する問題