我的PHP脚本通过javascript中的AJAX调用返回以下字符串:
$maaltijdPrijzenArray = "[";
...while...
$maaltijdPrijzenArray .= "{id: $id, maaltijdprijs: \"$kostprijs\", verkoopprijs: \"$verkoopprijs\"},";
...endwhile...
$maaltijdPrijzenArray = rtrim($maaltijdPrijzenArray, ',');
$maaltijdPrijzenArray .= "]";
$response['arrayMaaltijden'] = $maaltijdPrijzenArray;
echo json_encode($response);
所以示例输出是:
$maaltijdPrijzenArray = "[
{id: 1, maaltijdprijs: "23.23", verkoopprijs: "44.34" },
{id: 2, maaltijdprijs: "34.34", verkoopprijs: "55.55"} ]";
我将此输出发送到Javascript中的AJAX调用(我的ajax调用具有dataType:' JSON'启用),我希望我的数组采用相同的格式,但现在使用Javascript。所以期望的输出必须是javascript:
var maaltijdPrijzenArray = [
{id: 1, maaltijdprijs: "23.23", verkoopprijs: "44.34" }
{id: 2, maaltijdprijs: "34.34", verkoopprijs: "55.55"} ]
从此我可以简单地得到" maaltijdprijs"和" verkoopprijs"通过调用
var result = $.grep(maaltijdPrijzen, function(e){ return e.id == id; });
但是如何将PHP数组转换为Javascript?
答案 0 :(得分:0)
致谢:@Sean
而不是连接字符串 - > $maaltijdPrijzenArray .= "{id: $id,...
,将其作为php数组执行 - > $maaltijdPrijzenArray = array(); ...while... $maaltijdPrijzenArray[] = array("id"=>$id,....
这也可以摆脱对rtrim()
将我的PHP更改为:
$maaltijdPrijzenArray = array();
$maaltijdPrijzenArray[] = array("id"=>$id, "maaltijdprijs"=>$kostprijs, "verkoopprijs"=>$verkoopprijs);
$response['arrayMaaltijden'] = $maaltijdPrijzenArray;
echo json_encode($response);
它在Javascript中工作:)
答案 1 :(得分:0)
将PHP数组作为带有[json_encode][1]
函数的JSON字符串进行回显。
然后,当您在JavaScipt中读出此String时,可以将其转换为具有[JSON.parse][2]
函数的数组。
1:http://php.net/manual/en/function.json-encode.php 2:https://www.w3schools.com/js/js_json_parse.asp