Incorporar HTML de servidor externo

Problema: Queremos preencher parte de nossa página com HTML localizado em outro servidor.

.

Solução fácil

Use <iframe>. Basta adicionar a tag e pronto.

Solução Complexa

Use JSONP. Isso permitirá que você integre totalmente a parte externa em sua página.

  1. Configure seu servidor para lidar com solicitações JSONP. Por exemplo, no Rails é tão fácil quanto mudar
    render 'home', layout: nilpara
    render json: {:html => render_to_string('home', layout: nil)}, callback: params[:callback]

  2. O servidor agora responderá à home.html?callback=CALLBACKsolicitação com:
    CALLBACK( {"html": "<div id="home">Hello From Home!</div>"} )

  3. Inicie uma solicitação JSONP. Com jQuery, será semelhante a este:
    $.getJSON(url+'?callback=?', function(data) { document.getElementById(id).innerHTML = data.html; });

  4. É isso aí. O jQuery gera automaticamente uma URL única para a callbackfunção e a executa automaticamente após a recuperação, chamando o function(data)método.