繁体   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