#ajax #json #jquery
#ajax #json #jquery
Вопрос:
У меня есть простой веб-сервис, который выводит объект JSON клиенту.
При доступе с помощью обычного браузера он выводит строку JSON. Однако при обращении с помощью $.getJSON
он всегда возвращает пустой ответ, хотя есть заголовок ответа:
Content-Type application/json; charset=utf-8
Content-Length 122
Connection keep-alive
Код для вызова выглядит следующим образом:
$.getJSON('http://192.168.0.1/api/v1/search', { query : $('#searchfield').val() },
function(data){
$.log("Response: %s", data.some_field);
}
);
Также не вызывается функция обратного вызова.
Есть идеи?
Комментарии:
1. Убедитесь, что ответ действительно является правильным JSON ( jsonlint.com ) иначе getJSON будет блевать.
2. Это другой сервер, чем с которого была отправлена страница? Если да, запрос подпадает под действие политики того же источника.
3. @FelixKling если да, то разве не было бы заголовка ответа через
$.getJSON
?4. @xybrek можете ли вы создать jsfiddle для решения этой проблемы?
5. @Chantz, конечно, однако я не знаком с jsFiddle. Также я не уверен, будет ли работать $.log, поскольку я использовал для этого другую библиотеку js?