[英]create JSON form an array with PHP and decode it with javascript
如果我用 php 解码一个数组,我会得到带括号的 JSON:
$data = array();
$data[0]["id"] = 23;
$data[0]["modul"] = "my modul";
echo '' .json_encode($data). '';
我得到一个这样的 JSON:
[{"id":23,"modul":"my modul"}]
当我想用 javascript 解码时,没有什么可解码的,因为 javascript 需要没有括号的 JSON
var myObj = JSON.parse(mySendJSONData);
在解析之前我已经尝试使用它:
myObj = myObj[0];
但它没有解决它。
更清楚:我想使用服务器端事件将 JSON 发送到客户端:
服务器:
<?php
header( 'Content-Type: text/event-stream' );
header( 'Cache-Control: no-cache' );
$data = array();
$data[0]["id"] = 23;
$data[0]["modul"] = "my modul";
echo 'data: ' .json_encode($data). "\n\n";
flush();
?>
客户:
var source = new EventSource("myServerSideEvent.php");
source.onmessage = (event) => {
var myObj = JSON.parse(event.data);
document.getElementById("moduldialog").innerHTML = myObj.modul;
}
您正在发送 JSON 编码的数据,它应该是一个字符串。 但是您并没有将它描述为输出中的字符串。 尝试:
echo 'data: \'' .json_encode($data). "'\n\n";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.