将变量而不是文件/文件路径传递给getJson

时间:2013-04-30 20:12:00

标签: php jquery json

我正在从数据库中的值创建动态下拉列表。我正在查询数据,以这种格式创建一个php变量:

$items = array(
   'red'=>'apples,firetrucks,blood',
   'yellow'=>'bus,pencil,duck'
);

然后我可以使用json_encode()函数进行编码。

{
  "red":"apples,firetrucks,blood",
  "yellow":"bus,pencil,duck",
}

我知道getJson是在文件或路径上传递的:

$.getJSON("jsondata/data.json", function(data) {

我的json变量可以传递给这个函数吗?我希望传递变量而不是文件的原因是因为我的数据每天都有机会,即:

$items = array(
   'red'=>'apples,firetrucks,bricks',
   'yellow'=>'bus,pencil,duck'
);

1 个答案:

答案 0 :(得分:0)

您需要创建一个输出所需JSON的PHP文件;

/foo.php

echo json_encode(array(
    "red" => "apples,firetrucks,blood",
    "yellow" => "bus,pencil,duck",
));

...然后您的JavaScript应使用foo.phpgetJSON发出AJAX请求;

$.getJSON("/foo.php", function (data) {
    alert(data.red); // shows "apples,firetrucks,blood
    alert(data.yellow); // you get the idea
});

...为你的对象数组制作值是如此诱人,但我拒绝......某种程度上