Проблема со значениями GET из формата JSON с использованием Jquery - PullRequest
0 голосов
/ 31 марта 2011

Я пытаюсь получить некоторые значения с удаленного сервера, которые генерируют данные в формате JSON>

$("#productSearchpage").live("pageshow", function(event, ui){

            $.getJSON('http://www.akcniceny.cz/php/mapa-slev-data.php?box[left][lat]=50.5&box[left][lng]=14.5&box[right][lat]=51&box[right][lng]=15&group[]=3&typ[]=zbozi&full=televizor', function(data) {
              $('.result').html('<p>' + data.jmeno + '</p>'
                + '<p>' + data.ulice[1] + '</p>');
            });

Но у меня нет опыта работы с JSON, поэтому я попробовал использовать учебник на сайте Jquery, к сожалению, скрипт не работает.

Что может быть и как правильно использовать JQUERY и JSON вместе?

Спасибо за любой ответ.

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

JSON, возвращенный сервером, недопустим.
По сути, он возвращает массив объектов, но после последнего объекта появляется ненужная запятая (которая обычно указывает, что другой объект является массивом).).

При создании стороны сервера json удалите последнюю запятую перед возвратом ответа.

Если у вас нет доступа к коду на стороне сервера, вы не будетебыть в состоянии использовать $.getJSON.Вам понадобится выполнить следующие шаги:

  • Использовать метод $.ajax с конфигурацией: dataType: text
  • Использовать манипуляции со строками Java-сценария для удаления запятой
  • Разобрать строку как json используя $.parseJSON
0 голосов
/ 31 марта 2011

Этот скрипт находится в том же домене?Если нет, браузеры не разрешают междоменную получение / публикацию с использованием запроса xmlhttp.Возможно, вам придется использовать другие обходные пути. Здесь - это детали.

0 голосов
/ 31 марта 2011

Пожалуйста, попробуйте это:

$("#productSearchpage").live("pageshow", function(event, ui){
    $.ajax({
        url: 'http://www.akcniceny.cz/php/mapa-slev-data.php?box[left][lat]=50.5&box[left][lng]=14.5&box[right][lat]=51&box[right][lng]=15&group[]=3&typ[]=zbozi&full=televizor',
        dataType: 'json',
        data: data,
        success: $('.result').html('<p>' + data.jmeno + '</p>'+ '<p>' + data.ulice[1] + '</p>');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...