Я не знаю, почему, но есть проблема, с которой я сталкиваюсь с $.parseJSON
при выполнении вызова ajax, мне нужно проверить, содержит ли ответ JSON, затем продолжить его анализ с $.parseJSON
, если он не содержит JSON, тогда он напечатает ответ в элементе (который будет содержать некоторый HTML).
Затем я проверил, будет ли eval
делать что-нибудь, что, конечно, и так, но я не хочу использовать eval
для этого.
Код, который я получил:
$.ajax({
url: 'ajax.php',
success: function(response)
{
var msg = $.parseJSON(response);
//alert(typeof(response)); <-- returns 'string'
//alert(typeof(msg)); <-- returns 'object'
//alert(msg.error); <-- this doesn't work at all.
//eval(response) <-- returns [object Object]
if(msg.error !== '')
{
ajaxWindow.html(msg.error);
}
else
{
ajaxWindow.html(response).hide().slideDown('slow');
}
}
});
Так почему же он не может анализировать строку JSON? jQuery.parseJSON ясно говорит:
Принимает правильно сформированную строку JSON и возвращает полученный объект JavaScript.
Но ничего не может быть проанализировано, это какая-то ошибка или, возможно, ошибка?
РЕДАКТИРОВАТЬ: JSON:
[{"error":"Error loading template"}]