gpt4 book ai didi

在客户端将 PHP 转为 JSON

转载 作者:行者123 更新时间:2023-12-02 20:32:22 26 4
gpt4 key购买 nike

我正在使用 Rob Monies 的“Jquery Week Calendar”来构建日历应用程序。

我有一个 MSSQL 数据库,其中包含名为“dates”的表和以下字段:

ID开始结尾标题

我想用 PHP 查询这个数据库,然后将结果传递给 Javascript,然后 Javascript 将在浏览器中呈现事件。

Javascript 需要接收 JSON 格式的事件详细信息,如下例所示:

{"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_encode() 将值放入 var 并将它们传递给名为 DB_events 的 Javascript var - 如果我在客户端的警报框中返回 DB_events,我会看到以下;

{"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"};

并在警报框中返回 DB_events,我得到:

[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":JS_id, "start":JS_start, "end":JS_end,"title":JS_title};

events : [DB_events]

这也有效。

正如你可能知道的那样 - 我对此很陌生,可能错过了一些非常基本的东西。

任何帮助、建议或信息将不胜感激:)

非常感谢

蒂姆

最佳答案

  1. 当您获得对象的字符串表示形式时,这意味着您已将其导出为字符串而不是对象。

  2. 当你得到[object] [Object]时这意味着它现在是一个对象,这是正确的!

如果您从 URL 获取 JSON,则可以使用 JSONP 执行此操作:

// 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);

或者使用JSON解析器将其解析为字符串: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

var DB_events = JSON.parse( ...JSON output as a string... );

或者通过 内联 <script> 直接从 PHP 传递它在您的页面中阻止:

echo "<script>";
echo "var DB_events = " . json_encode( ... ) . ";";
echo "</script>";

关于在客户端将 PHP 转为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com