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