2013-04-30 3 views
0

Я создаю динамические выпадающие списки из значений в моей базе данных. Я запрашивая данные, создание переменной PHP в следующем формате:Передача переменной вместо файла/пути к файлу getJson

$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' 
); 
+0

Что? Для начала нет такой вещи, как «объект JSON». У вас либо есть строка JSON, либо объект JS. –

ответ

0

Вам нужно создать PHP файл, который выводит JSON вы хотите;

В /foo.php:

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

... то ваш JavaScript должен сделать запрос AJAX к foo.php используя getJSON;

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

... Это было настолько заманчивым, чтобы сделать значения для ваших массивов объектов, но я сопротивлялся ... как-то

+0

Это моя проблема, значения для 'red' могут ежедневно меняться от' яблок, firetrucks, blood' до 'яблок, firetrucks, bricks'. – etm124

+1

... так что это хорошая работа, что они испускаются PHP, которые могут запрашивать значения из базы данных каждый раз, когда они запрашиваются? У вас есть запрос к базе данных для получения ежедневных значений? – Matt

+0

@ etm124: Вы можете перебирать их через jQuery.each или цикл for/in: 'for (name in data) {alert (name + ':' + data [name]); } 'и с каждым' $ .each (data, function (name, value) {alert (name + ':' + value);}); ' – prodigitalson

Смежные вопросы