обновлен до jquery 1.4.1 и теперь получает ошибку разбора - PullRequest
1 голос
/ 01 февраля 2010

Я попытался обновить jQuery 1.2.6 до 1.4.1. JSON-запрос теперь не выполняется с ошибкой: «parseerror, invalid label»

Я упростил код до минимума.

var jsonUrl = "process_01.php";
$.ajax({
 type: "POST",
 url:  jsonUrl,   
 data: "var=myVar",        
 dataType: "json",    
 beforeSend: function(msg) {
 },
 success: function(msg) {
 },
 error: function (msg, textStatus, errorThrown) {
   alert("an error has occured (" + textStatus + " " + errorThrown +")" );
   }
});
return false;
}

Вывод программы php { "Foo": "бар", "IsTrue": "истина"}

Я вижу это в клопе

Ответы [ 3 ]

0 голосов
/ 02 февраля 2010

Убедитесь, что тип вашего контента установлен на application / json.

Также посмотрите на это , похоже на вашу проблему.

0 голосов
/ 03 февраля 2010

Если это поможет кому-то еще, кто наткнется на это, оригинальный автор сказал, что он не отправляет заголовок как application / json. В моем случае я столкнулся с проблемой разбора апострофов в двойных кавычках:

{"description": "An invalid person\'s JSON"}

Похоже, что 1.3.2 принял это, но 1.4.1 отвергает. Думаю, мне придется найти более изящный подход к побегу на стороне сервера. См. http://jsbin.com/oveci3, что я использовал для справки.

0 голосов
/ 02 февраля 2010

Вокруг отправляемых значений должны быть одинарные кавычки. Как этот парень сделал.

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