Всегда пустой ответ с помощью $.getJSON

#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?