jQuery не проанализирует мой JSON от запроса Ajax

Я испытываю затруднения при парсинге некоторых данных JSON, возвращенных из моего сервера с помощью jQuery.ajax ()

Для выполнения Ajax, я использую:

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    ...
  },
  error: function(e, xhr){
    ...
  }
});  

И если я возвращаю массив объектов тогда, он хорошо работает:

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]

Функция успеха вызвана и получает правильный объект.

Однако, когда я пытаюсь возвратить отдельный объект:

{ title: "One", key: "1" } 

Функцию ошибок называют, и xhr содержит 'parsererror'. Я попытался обернуть JSON в круглую скобку на сервере прежде, чем отправить ему вниз провод, но это не имеет никакого значения. Все же, если я вставляю содержание в строку в JavaScript и затем использую оценку () функция, это оценивает его отлично.

Какие-либо идеи, что я делаю неправильно?

Anthony

87
задан littlecharva 30 October 2008 в 09:47
поделиться

2 ответа

У меня была похожая проблема с этим, где Firefox 3.5 работал нормально и анализует мои данные JSON, но Firefox 3.0.6 вернул ParseError. Оказалось, что это было пустое место в начале JSON, вызвавшего Firefox 3.0.6, чтобы бросить ошибку. Удаление пробела Исправлено его

2
ответ дан 24 November 2019 в 07:44
поделиться

Строки JSON заключены в двойные кавычки; одинарные кавычки не являются допустимой заменой.

{"who": "Hello World"}

верно, но это не ...

{'who': 'Hello World'}

Хотя это не проблема ОП, подумал, что стоит отметить это для других, которые приземляются здесь.

33
ответ дан 24 November 2019 в 07:44
поделиться