[英]Using JavaScript to access a JSON array from PHP
我試圖了解我的PHP腳本如何將數組傳遞給我的JavaScript代碼。 使用以下PHP,我傳遞了一個數組:
$c = array(3,2,7);
echo json_encode($c);
我的JavaScript如下:
$.post("getLatLong.php", { latitude: 500000},
function(data) {
arrayData = data
document.write(arrayData)
document.write(arrayData[0]);
document.write(arrayData[0]);
document.write(arrayData[0]);
});
</script>
屏幕上打印出的是
[3,2,7][3,
我試圖了解json_encode的工作原理-我認為我可以將數組傳遞給變量,然后像普通的JavaScript數組一樣對其進行訪問,但是它將我的數組視為一個大文本字符串。 如何確保它像數組一樣讀取它?
將dataType
參數傳遞給$.post
:
$.post("getLatLong.php", { latitude: 500000},
function(data){
// ...
}, 'json');
然后, data
將被正確解碼。
或者,您也可以在回調中使用$.parseJSON
。
JSON的說明:
JSON是一種數據交換格式。 它指定了要傳輸的數據字符串的結構。 json_encode
采用PHP數據結構,例如數組或對象,並將其轉換為JSON,即具有特定格式的字符串。
json_encode($c)
將給您字符串"[3,2,7]"
。
在客戶端站點上,您會收到該字符串,但是必須將其解碼為正確的JavaScript數據結構。 因此$.parseJSON(data)
將為您提供一個包含3個元素的JavaScript數組(或者,如果您將$.parseJSON(data)
作為第三個參數傳遞給.post()
,則jQuery會自動為您進行解碼)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.