Я не сторонний разработчик, и я работаю над случайным проектом, который требует, чтобы AJAX получал кусок JSON.jquery ajax response: разница между Chrome и Firefox
$('#btn1').click(function() {
$.ajax({
url: 'http://mywebsite.com/persons/mike',
type: "get",
success: function(response, textStatus, jqXHR){
var age1 = JSON.parse(response).data.age; // works for Firefox
var age2 = response.data.age; // works for Chrome
},
error: function(jqXHR, textStatus, errorThrown){
console.log('Error')
},
complete: function(){
console.log('Complete')
}
});
});
Я использую Firebug в Firefox и средствах разработки в Chrome. response
имеет тип Object
в Chrome и является String
в Firefox.
Есть ли общий способ сделать AJAX в jQuery и успешно проанализировать ответ?
Ваш сервер, вероятно, не устанавливает правильные заголовки ответов, чтобы JQuery понимал, что это JSON в обоих браузерах. – bfavaretto
@bfavaretto серверная сторона использует Джерси, а конечная точка аннотируется '@Produces (MediaType.APPLICATION_JSON)'. – zihaoyu
Странно, Интеллектуальный Угадай должен разобрать его в Firefox. Возможно, проверьте заголовки ответов на вкладке NetBoard Firebug, чтобы увидеть, действительно ли браузер получает этот заголовок. Тем не менее, заставляя реакцию анализировать, поскольку JSON позаботится об этом. –