2011-08-09 88 views
1

我想使用json將php中的數組發送到jquery。在收到數組中,但我有一個問題,從數組中獲取元素。如何從PHP中獲取jquery中的數組元素

我這樣做:

<?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

是的,我知道,但前四個元素是空的,它們是什麼? – sahar

回答

3

結果是一個JSON字符串。使用JSON.parse來獲取數組。

+0

that works :),非常感謝 – sahar

0

在您的AJAX調用中,嘗試添加dataType:「json」,或者您可以使用JSON.parse(result)從結果中獲取JSON對象。

0

您沒有設置dataType參數,請執行以下操作:

dataType: "json" 
+0

我使用jquery 1.7,所以我不必添加(dataType:「json」) – sahar