Ошибка в моей JQuery AJAX JSON функции, не возвращает данные - PullRequest
0 голосов
/ 19 апреля 2011

Привет, я получил эту ошибку в моей функции ajax, используя json при получении данных.Он не вернет никаких данных.Вот мой код ниже

$.ajax({
  url: "php/getCategory.php?action=getyear",
  cache: false,
  dataType: "json",
  success: function(data){
    $.each(data.items, function(i,item){
        $("#catYear").append('<option value="'+item.id+'">'+item.name+'</option>');
    });
  }
});

Когда я пытаюсь удалить dataType: "json", он перейдет в success: function.Я думаю, что проблема на моем JSON.Я также повторяю вывод моего getCategory.php, и я думаю, что это не проблема.Ниже приведен вывод моего php json_encode.

{items:[{"id":"1","name":"2010"},{"id":"2","name":"2011"}]}

Спасибо!

1 Ответ

1 голос
/ 19 апреля 2011

из документации jquery:

Важное замечание: Начиная с jQuery 1.4, если файл JSON содержит синтаксическую ошибку, запрос обычно завершается с ошибкой. По этой причине избегайте частого ручного редактирования данных JSON. JSON - это формат обмена данными с синтаксическими правилами, которые являются более строгими, чем те, которые используются в литеральной нотации JavaScript. Например, все строки, представленные в JSON, , независимо от того, являются ли они свойствами или значениями , должны быть заключены в двойные кавычки. Подробнее о формате JSON см. http://json.org/.

поэтому в строке jour json есть элементы, которые не заключены в двойные кавычки, попробуйте что-то вроде этого:

{"items":[{"id":"1","name":"2010"},{"id":"2","name":"2011"}]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...