我想将三个数据数组vertexa
,vertexb
和edge_id
发送到包含JavaScript的HTML页面,以便在顶点上运行算法Dijkstra。我应该使用JSON命令吗?
答案 0 :(得分:4)
您需要对数据使用json_encode,例如
<?php
$arr=array('cow'=>'black','feet'=>4);
$encoded=json_encode($arr);
$ encoded现在是{"cow":"black","feet":4}
,JavaScript可以使用。要将其发送到页面,请执行
header('Content-Type: application/json');
echo $encoded;
header必须在向页面输出任何内容之前发生,甚至是空格或空行,否则PHP会出错。
在将数据生成为PHP数组后,在初始页面加载时将其输出到JS,您可以将其打印出来,如下所示。在这种情况下,您不需要输出特殊标头;它是普通text / html文档的一部分。标题用于返回Ajax。
<?php
$json_data=json_encode($your_array);
?>
<script>
var an_obj=<?php echo $json_data;?>;
</script>
答案 1 :(得分:1)
使用datatype:"json"
表示数据,datatype:"script"
设置ajax调用的数据类型。
在服务器端,分别将内容类型设置为application/json
和application/javascript
。