JQuery и JSON - PullRequest
       18

JQuery и JSON

1 голос
/ 11 октября 2009

Вот кое-что, что я хочу изучить и сделать. У меня есть файл JSON, который содержит мой продукт и детали (размер, цвет, описание). На сайте я не могу использовать PHP и MySQL, я могу использовать только Javascript и HTML. Теперь я хочу использовать JQuery, чтобы читать и записывать файл JSON (файл JSON будет служить моей базой данных). Я не уверен, что это можно сделать, используя только JQuery и JSON.

  1. Во-первых, как запросить файл JSON? (Пример: я бы искал название и цвет продукта.)

  2. Как разобрать данные JSON, которые были найдены в HTML?

  3. Как добавить информацию о продукте в файл JSON?

Было бы также здорово, если бы вы указали мне хороший урок по моим вопросам.

Я новичок в JQuery и JSON.

Спасибо!

1 Ответ

6 голосов
/ 11 октября 2009

Поскольку Javascript на стороне клиента, вы не сможете писать в файл JSON на сервере, используя только Javascript. Для этого вам понадобится код на стороне сервера.

Чтение и анализ файла JSON не является проблемой. Вы бы использовали функцию jQuery.getJSON . Вы должны указать как URL, так и параметр обратного вызова (данные не нужны, потому что вы читаете файл, поэтому нет необходимости отправлять данные). URL-адрес будет путем к вашему файлу JSON, а обратный вызов будет функцией, которая использует данные.

Вот пример того, как может выглядеть ваш код. Я не знаю точно, какой у вас JSON, но если у вас есть набор с именем «products», содержащий набор объектов с деталями «name» и «price», этот код выведет их:

$.getJSON("getProductJSON.htm",
    function(data) {
        $.each(data.products, function(i, item) {
            var name = item.name;
            var price = item.price;
            // now display the name and price on the page here!
        });
    }, 
);

По сути, переменная данных в $ .getJSON делает все содержимое JSON доступным для вас, очень легко. И $ .each используется для зацикливания набора объектов JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...