2012-08-03 236 views
0

我有一個調用PHP誰返回數組一個Ajax功能:迭代PHP數組

<?php 
$testing = array("one","two","three", "four"); 
echo json_encode($testing);   
?> 

我這個Ajax調用調用它;

$.ajax({ 
url:"ajax_response.php", 
type:"POST", 
success:function(msg) 
{ 
    var array = msg;  
    var test = array[2];  
    alert(test); 
} 
}); 

的問題是,我想獲得陣列[1]爲 「一」 和IM歌廳1個字符的每陣列位置例如:陣列[0] = 「○」,陣列[1] =「N 「,數組[2] =」e「。它像json encode或semething一樣將我的數組變量分解爲字符。

任何幫助?

在此先感謝

回答

2

你必須解析你的答案。最簡單的方法是把一個dataType到您的AJAX調用:

$.ajax({ 
    url: "ajax_response.php", 
    dataType: 'json', // add the dataType 
    type: "POST", 
    success: function(msg) { 
     var array = msg;  
     var test = array[2];  
     alert(test); 
    } 
}); 

或者你也可以「手動」解析它。這有時是必要的:

success: function(msg) { 
    var array = JSON.parse(msg); // or parse it manually 
    var test = array[2];  
    alert(test); 
} 
+0

完美的作品!謝謝 !! – 2012-08-03 09:11:49

+0

不客氣:-) – 2012-08-03 09:16:00

-2

你的迴應是字符串格式試試這個你的成功的功能

success:function(msg) 
{ 
    var array ; 
eval('array ='+msg); 
    var test = array[2];  
    alert(test); 
} 
+1

-1請不要使用eval()!使用JSON.parse() – 2012-08-03 08:58:58

+0

@VainFellowman爲什麼? – 2012-08-03 08:59:28

+0

@VainFellowman小孩不應該拿槍,但它不是這樣,槍是無用的 – 2012-08-03 09:00:09