php - 显示来自 php json_encode 的 json 数据?

标签 php jquery mysql json

我有这个 jquery 代码,它弹出一个输入选择器,它应该像这样显示:

$("#demo-input-pre-populated").tokenInput("http://shell.loopj.com/", {
                prePopulate: [
                    {id: 123, name: "Slurms MacKenzie"},
                    {id: 555, name: "Bob Hoskins"},
                    {id: 9000, name: "Kriss Akabusi"}
                ]
            });

当我尝试像这样使用 php 从数据库中获取值时:

prePopulate: [
                    <?
                   $responses = array();
                    $topicJSON=getQtopics($getQ);
                    while($row = mysql_fetch_array($topicJSON)){
                    $response = array(
                        'id' => $row['id'],
                        'name' => $row['name']

                    );
                    $responses[] = $response;
                }
                echo json_encode($responses);
 ?>
        ],

像这样显示 json 数据:

 prePopulate: [
         [{"id":"1","name":"Dormitree"},
         {"id":"1482","name":"carriage of goods"}]        
        ],

但是在 #demo-input-pre-populated" 输入上我得到了未定义,我认为它是因为 php 没有自动回显 json,我该如何解决这个问题,谢谢 :))

最佳答案

如果您查看两个 JS 输出,唯一的区别是在从 PHP 输出的情况下您有两个额外的封闭方括号 [] - 所以您正在制作一个数组在这种情况下,JSON 对象数组,而您只需要一个 JSON 对象数组。

prePopulate 去掉封闭的 [] 因为 json_encode 已经为你做了:

prePopulate: <?
                $responses = array();
                $topicJSON=getQtopics($getQ);
                while($row = mysql_fetch_array($topicJSON)){
                        $response = array(
                       'id' => $row['id'],
                       'name' => $row['name']
                    );
                    $responses[] = $response;
                }
                echo json_encode($responses);
            ?>,

关于php - 显示来自 php json_encode 的 json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5502966/

相关文章:

PHP 查询不起作用

php - 阅读 Robin Nixon RE : Sanitizing Input PHP 的 Learning PHP, MySQL & JavaScript 时的问题

javascript - jquery动画如何正确的 float

javascript - 使用 jquery 显示两个数据透视表

MySQL删除尾随零

mysql - 思考 sphinx/mysql 用于非文本搜索

mysql - 按天和部分 SQL 分组

php - PHP获取不带www和.com的域名

javascript - 当我点击文本时它可以工作但是当我点击文本旁边时它在下拉菜单中不起作用?

php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件