客户端上的PHP到JSON
我正在使用“Jquery Week Calendar”构建一个日历应用程序 我有一个名为“dates”的MSSQL DB a表和以下字段: 身份证 开始 结束 头衔 我想用PHP查询这个数据库,然后将结果传递给Javascript,Javascript将在浏览器中呈现事件 Javascript需要接收JSON格式的事件详细信息,如下例所示:客户端上的PHP到JSON,php,javascript,json,variables,Php,Javascript,Json,Variables,我正在使用“Jquery Week Calendar”构建一个日历应用程序 我有一个名为“dates”的MSSQL DB a表和以下字段: 身份证 开始 结束 头衔 我想用PHP查询这个数据库,然后将结果传递给Javascript,Javascript将在浏览器中呈现事件 Javascript需要接收JSON格式的事件详细信息,如下例所示: {"id":1,"start": 2010-10-09T13:00:00,"end":2010-10-09T14:00:00,"title":"Lunch
{"id":1,"start": 2010-10-09T13:00:00,"end":2010-10-09T14:00:00,"title":"Lunch with Mike"},
{"id":2,"start": 2010-10-10T13:00:00,"end": 2010-10-10T14:00:00, "title":"Dev Meeting"}
到目前为止,为了保持简单,我一次只从数据库返回一行,但是,我需要应用程序能够呈现存储在数据库中的多个事件
我已经尝试使用json\u encode()
将值放入一个变量,并将它们传递给一个名为DB\u events的Javascript变量-如果我在客户端的警报框中返回DB\u事件,我会看到以下内容:
{"id":1, "start":2010-10-09T13:00:00, "end":2010-10-09T14:00:00,"title":"Lunch with Mike"}
这看起来不错,但当我在代码中执行此操作时:
events : [DB_events]
它不起作用:(
如果我将PHP从等式中去掉,在客户端执行以下操作:
var DB_events = {"id":1, "start":2010-10-09T13:00:00, "end":2010-10-09T14:00:00,"title":"Lunch with Mike"};
var DB_events = {"id":JS_id, "start":JS_start, "end":JS_end,"title":JS_title};
events : [DB_events]
并在警报框中返回DB_事件,我得到:
[object] [Object]
但当我这么做的时候:
events : [DB_events]
它起作用了
回到PHP
如果我将SQL结果放入PHP变量中,如下所示:
$id = id;
$start = start;
$end = end;
$title = title;
并将这些变量传递给以下JS变量:
JS_id
JS_start
JS_end
JS_title
并在客户端执行此操作:
var DB_events = {"id":1, "start":2010-10-09T13:00:00, "end":2010-10-09T14:00:00,"title":"Lunch with Mike"};
var DB_events = {"id":JS_id, "start":JS_start, "end":JS_end,"title":JS_title};
events : [DB_events]
这也行得通
正如你可能知道的,我对这一点还不熟悉,可能缺少一些非常基本的东西
任何帮助、建议或信息都将不胜感激:)
非常感谢
蒂姆你用过jsocn解码吗 您可以分割结果并使其不同于变量,如开始、结束、事件等
[object][object]
时,意味着它现在是一个对象,这是正确的// send the request via <script> tag
var src = "..."; // url of the JSON output
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", src);
head.appendChild(script);
或者通过在页面中使用内联
块直接从PHP传递它:
echo "<script>";
echo "var DB_events = " . json_encode( ... ) . ";";
echo "</script>";
echo”“;
echo“var DB_events=”。json_编码(…)。";";
回声“;
太好了,您如何在客户端将其从php传递到JS?或者这行代码会从php设置JS变量吗?看起来很好,我在英国时间,所以早上第一件事就是尝试一下-谢谢:-)