Ajax называютКак читать JSON строку [JQuery]
$("#day").datepicker({
onSelect: function(request) {
$.ajax({
type: "POST",
url: '${pageContext. request. contextPath}/url.htm',
data: JSON.stringify({
id: '${someId}'
}),
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (response) {
if(response.b === true) {
$("#fruit").val(response.a);
}
}
}).fail(function(xhr, status, error){
console.log('error:' + status + ':' + error + ':' + xhr.responseText);
});
}
});
ответ Строка из ajax
вызова, как показано ниже
{
"a": "apple",
"b": true
}
Я пытался читать его с помощью var json = $.parseJSON(response);
и я получаю исключение, Uncaught SyntaxError: Unexpected token o
console.log(response);
показывает данные на консоли как
Object {
"a": "apple",
"b": true
}
Я хочу получить значение «a» и «b». Как это можно достичь?
нет необходимости разобрать его снова, используйте ' response.a' и 'response.b' для доступа к значению a и b –
' response' - это не строка, которая кажется. Сделайте 'typeof response', и вы увидите, что это уже объект, созданный автоматически из json-ответа. – SoonDead
Чем это не строка. Вы можете получить доступ к его свойствам прямо так же, как сказал @PranavRam. Или, альтернативно, вы можете использовать оператор индексатора следующим образом: 'response [" a "]' и 'response [" b "]'. – SoonDead