jquery
  • json
  • jsonp
  • getjson
  • 2013-08-04 5 views 1 likes 
    1

    Я хочу html из другого домена, поэтому я использую $ .getJson для получения html, но у меня возникают некоторые проблемы.getJSON для получения html из перекрестного домена

    код я использую это

    var site = "www.moneycontrol.com"; 
         var yql_url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + site + '"') + '&format=xml&callback=cbFunc'; 
         $.getJSON(yql_url, function (json) { 
          $('#CurrencyData').html(json.results[0]); 
         }); 
    

    внутри document.ready из JQuery. и в HTML у меня есть DIV

    <div id="CurrencyData"> 
        </div> 
    

    Когда я запускаю этот код ничего не отображается на моем локальном хосте, но если я отладки с firebug..after запуска этой страницы я получаю JSON и ответ результат со всеми HTML сверху сайт.

    Теперь мне интересно, если я получаю данные в JSON, то почему он не отображается в div ??

    ответ

    1

    Выполнение JSON-P, jQuery создает для вас необходимую функцию обратного вызова, гарантируя, что имя еще не используется и т. Д. Например, это делает сантехнику.

    Таким образом, это может привести к тому, что jQuery управляет именем функции обратного вызова. В вашей строке запроса, изменить

    &callback=cbFunc 
    

    в

    &callback=? 
    

    JQuery заменит во имя обратного вызова он создает.

    Live Example | Live Source (буквально только что в вашем вопросе с изменением выше сделано)

    +0

    если я перехожу от & callback = cbFunc to & callback =? и изменение $ ('# CurrencyData'). html (json.results [0]); до $ ('# CurrencyData'). html (json); я ничего не получаю даже в firebug – Mahajan344

    +0

    @Spenzo: Вы вводите HTML-код другой страницы на свою страницу. Не удивительно, что вы делаете некоторые ошибки (многие из них похожи на ошибки, когда скрипт на странице полагается на вещи, которые не загружаются на вашу страницу). Вам нужно будет обработать HTML-код, который вы вернетесь, но, в сущности, вышеупомянутое изменение, по крайней мере, позволит вам получить HTML. –

    +0

    Спасибо, что сработал :) – Mahajan344

    Смежные вопросы