簡體   English   中英

將 json_encoded PHP 數組傳遞給 JavaScript function

[英]Passing json_encoded PHP array to JavaScript function

我正在嘗試獲取 PHP 數組並將其傳遞到 JavaScript function 中,因此我可以在 GET 請求中發送它。 我嘗試使用 JSON 編碼來傳遞它,但似乎沒有任何效果。 JavaScript 不接受陣列。

這是我的代碼,在我解決問題的步驟中。

我的數組看起來像這樣:

Array ([0] => this [1] => is [2] => data )

所以我決定使用最好的解決方案, json_encode

現在我的數組在 PHP 中看起來像這樣:

$array = ["this","is","data"] 

然后我用get請求做了我的javascript function

function getRequestFunction(array){

$('#div').load("path/path/section="&array="+encodeURI(array));

}

接下來我調用了 function 並通過了 function。

getRequestFunction('<?php echo $array; ?>');

所以我已經將我的數組傳遞給了我的 JavaScript function。 不幸的是,當我運行這段代碼時,我的控制台說:

 Uncaught SyntaxError: Invalid or unexpected token

我想,由於我的數組現在是 JSON,它應該傳遞給 function? JavaScript 可以不接受 JSON 作為參數嗎? 我怎樣才能將此數組以作為 GET 請求傳遞的格式傳遞給我的 function?

json_encode()轉換為 JS object 文字,然后將JSON.stringify()轉換為 function 的參數。

getRequestFunction(JSON.stringify(<?php echo json_encode($array); ?>));

您還應該使用encodeURIComponent()而不是encodeURI() ,因為您正在編碼單個參數。 請參閱我應該使用 encodeURI 還是 encodeURIComponent 來編碼 URL? 對於差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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