Вытяните данные из JSON с JQuery

У меня есть json файл, который хранится в статическом URL-адресе, я бы хотел его захватить и вытащить наши объекты данных.

<div id="content"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $.getJSON('https://s3.amazonaws.com/wallyball_production/comedy.json', function(data){
            $("#content").html(data);
        });

    });
  </script>

Это ничего не выводит? Я сделал это очень быстро, не уверен, почему я ничего не вижу?

Ответ 1

Для вызовов AJAX для междоменного домена требуется jsonp (или запись прокси-сервера script). Пока удаленный сервер настроен правильно (я думаю, Amazon будет), это довольно легко с jQuery:

$.ajax({
    url      : 'https://s3.amazonaws.com/wallyball_production/comedy.json',
    dataType : 'jsonp',
    success  : function (data) {
        //$('#content').html(data);
        for (var i = 0, len = data.length; i < len; i++) {
            //`data[i].something` will access the `something` property an index of the JSON returned
        }
    }
});

Обратите внимание, что вы получите JSON в ответ, поэтому вам нужно будет перебирать его, прежде чем добавлять его в DOM.

Вот документы для jQuery $.ajax(): http://api.jquery.com/jquery.ajax

Ответ 2

Из-за политики одного и того же происхождения ваше веб-приложение никогда не может взаимодействовать с контентом из другого домена.

Вам нужно либо проксировать запрос через ваш веб-сервер (который затем связывается с amazon и возвращает результат), либо использовать JSONP.