Разные ответы на jquery.get в Firefox и chrome

#jquery #ajax

#jquery #ajax

Вопрос:

Я пытаюсь извлечь данные JSON из другого источника с помощью метода jquery.get. К сожалению, Firfox 4 и Chrome дают мне разные ответы. В Firefox я получаю строку, которую нужно проанализировать, в chrome я получаю обработанный JSON. В чем разница и как мне этого избежать?

 //works in Firefox
$.get(url, query, function(resp){
    var data = $.parseJSON(resp)
    var hits = data.hits.hits
}

//works in Chrome
$.get(url, query, function(resp){
    var hits = resp.hits.hits
}
  

Ответ №1:

Было бы лучше быть явным: сообщите jQuery, что вы ожидаете возврата JSON. Это должно обеспечить согласованное поведение.

 $.get(url, query, function(resp){
    var hits = resp.hits.hits
}, 'json');
  

Комментарии:

1. Вы уверены в своем синтаксисе? Я не думаю, что слишком много символов «)»

2. @ocoutts Две открытые скобки, две закрывающие скобки, одна открытая фигурная скобка, одна закрывающая фигурная скобка. Мне кажется правильным…

3. @ocoutts Так оно и было. У меня явно проблемы со зрением. @Neal Спасибо!