簡體   English   中英

使用JavaScript從PHP訪問JSON數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM