2013-03-05 49 views
0

我正在串格式而不是陣列形式,其從輸出AJAX獲得字符串,而不是從輸出AJAX

$.get('ajax/order_details.php?order_limit=true&order_limit_id=<?php echo $_GET['id']; ?>', function(data){ 
           alert(data.toSource()); 

})陣列;

這是我使用它在PHP文件

(new String("[{\"return_id\":\"129\",\"order_id\":\"126450\",\"parent_status\":\"0\"}]")) 

我想作爲數組不是字符串輸出的代碼(order_details.php)

if(isset($_GET['order_limit_id']) and isset($_GET['order_limit'])){ 
    $g_o = $mysql->query("SELECT * FROM ocreturn r, ocorder o WHERE o.order_id = '".$_GET['order_limit_id']."' and r.customer_id = o.customer_id"); 
    echo json_encode($g_o->rows); 
} 

而且我得到的輸出。

誰能給我這個

+0

如果你只是調用'alert(data)',會發生什麼? – Andrew 2013-03-05 07:44:51

+0

它顯示爲「[{\」return_id \「:\」129 \「,\」order_id \「:\」126450 \「,\」parent_status \「:\」0 \「}]]」但它是也字符串 – santhosh 2013-03-05 07:50:20

回答

0

你應該使用JSON的解決方案,服務器應該返回JSON數組和jQuery的應該分析這種JSON不串看到:
http://php.net/manual/en/function.json-decode.php

也jQuery的應是

$.getJSON("URL",function(msg){ 
    alert("result : "+msg); 
}); 
+0

它的工作表示感謝。我還有另一個疑問 如果我使用$ .ajax();我得到的輸出爲字符串,我以前有過。 – santhosh 2013-03-05 07:54:38

+0

Plz小心接受答案,如果它解決了你的問題:) – 2013-03-05 07:55:54

1

可以指示jQuery的通過將字符串「JSON」作爲第三個參數的函數$.get解析響應爲JSON:

$.get('ajax/order_details.php?order_limit=true&order_limit_id=<?php echo $_GET['id']; ?>', function(data){ 
    alert(data.toSource()); 
}, 'json'); 

如果你想使用jQuery的低級別$ajax功能,可以使用以下命令:

$.ajax({ 
    url: ajax/order_details.php, 
    data: {order_limit: true, order_limit_id: <?php echo $_GET['id']; ?>}, 
    success: function (data) { 
    alert(data); 
    }, 
    dataType: 'json' 
}); 

這有效地做同樣的事情,調用$.get。請記住,$ .get方法只是$ .ajax方法的簡寫。請參閱the jQuery docs,地址爲$.get

+1

它的工作原理。另外我想爲$ .ajax(); 。我也得到了字符串作爲輸出。你可以給我這個解決方案 – santhosh 2013-03-05 08:01:22

+0

我的編輯應該解釋這一點。 – Andrew 2013-03-05 08:08:23