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