<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programmazione Web &#187; ajax loading content</title>
	<atom:link href="http://www.programmazione-web.com/tag/ajax-loading-content/feed" rel="self" type="application/rss+xml" />
	<link>http://www.programmazione-web.com</link>
	<description>il Blog open degli sviluppatori del web!</description>
	<lastBuildDate>Tue, 10 Nov 2009 21:04:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Jquery Ajax content loading, caricare contenuti html in un div</title>
		<link>http://www.programmazione-web.com/jquery-ajax-content-loading-caricare-contenuti-div.php</link>
		<comments>http://www.programmazione-web.com/jquery-ajax-content-loading-caricare-contenuti-div.php#comments</comments>
		<pubDate>Mon, 19 May 2008 17:40:17 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax content loading]]></category>
		<category><![CDATA[ajax loading content]]></category>
		<category><![CDATA[Ajax XMLHttpRequest]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[jquery content loading]]></category>
		<category><![CDATA[jquery loading div.]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/jquery-ajax-content-loading-caricare-contenuti-div.php</guid>
		<description><![CDATA[Jquery Ajax content loading (XMLHttpRequest), caricare contenuti html in un div. 
Capita sempre piu&#8217; spesso di voler caricare porzioni di contenuti presenti in un sito, senza dover per forza ricaricare interamente tutto il contenuto della pagina.. questo tipo di interazioni sono la novita&#8217; che contraddistinguono i siti e le applicazioni web di ultima generazione, che [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Jquery Ajax content loading (<a href="http://it.wikipedia.org/wiki/XMLHttpRequest" title="wikipedia XMLHttpRequest " target="_blank">XMLHttpRequest</a>), caricare contenuti html in un div. </strong></p>
<p>Capita sempre piu&#8217; spesso di voler caricare porzioni di contenuti presenti in un sito, senza dover per forza ricaricare interamente tutto il contenuto della pagina.. questo tipo di interazioni sono la novita&#8217; che contraddistinguono i siti e le applicazioni web di ultima generazione, che consentono di avere una rapporto di usabilita&#8217; molto piu&#8217; alto grazie a chiamate asincrone (Ajax), che ci permettono di interagire con le applicazioni in modo piu&#8217; fruibile, avvicinando il web a vere e proprie applicazioni desktop.</p>
<p>Per realizzare questo tipo di chiamate dinamiche e interattive si utilizza solitamente l&#8217;oggetto XMLHttpRequest che e&#8217; un elemento fondamentale della tecnica di sviluppo web conosciuta con l&#8217;acronimo Ajax.</p>
<p>Un esempio di script che realizza questo tipo di interazioni lo possiamo vedere in <a href="http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm" title="ajax content xmlhttprequest" target="_blank">questa pagina</a>.</p>
<p>Ma in questo post voglio pero&#8217; illustrarvi come realizzare lo stesso meccanismo utilizzando il <a href="http://jquery.com" title="Framework javascript jQuery" target="_blank">framework jQuery</a>, che lo implementa in modo molto semplice, senza dover direttamenti occuparci dei dettagli sottostanti. Ricordando che jQuery a mio parere e&#8217; il framework javascript che ha il rapporto tra semplicita&#8217;/potenza piu&#8217; alto e anche le operazioni piu&#8217; complesse vengono realizzate con pochissime righe di codice.</p>
<p>Detto questo vi illustro come caricare contenuti dinamici usando jquery in un div a cui gli e&#8217; stato assegnato un id css univoco:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;script src=&quot;jquery-latest.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;script type=&quot;text/javascript&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">$(document).ready(function(){
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;#contentArea&quot;).load(&quot;pagina.php&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">});
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;div id=&quot;contentArea&quot;&gt; &lt;/div&gt;</div>
</li>
</ol>
</div>
<p>se invece vogliamo variare il contenuto del div a secondo del link che primiamo possiamo creare una funzione:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;script src=&quot;jquery-latest.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;script src=&quot;jquery-latest.js&quot; type=&quot;text/javascript&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;function loadContent(id) {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;#contentArea&quot;).load(&quot;rpc.php?o=&quot;+id+&quot;&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&lt;body onLoad=&quot;loadContent(1);&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;a href=&quot;javascript:loadContent(1);&quot;&gt;Tab 1&lt;/a&gt; |
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;a href=&quot;javascript:loadContent(2);&quot;&gt;Tab 2&lt;/a&gt; |
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;a href=&quot;javascript:loadContent(3);&quot;&gt;Tab 3&lt;/a&gt; |
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &lt;a href=&quot;javascript:loadContent(999);&quot;&gt;This content doesn&#8217;t exist&lt;/a&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;contentArea&quot; style=&quot;margin: 20px 0px 10px 10px; border: 1px solid #CCC;&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;/body&gt;</div>
</li>
</ol>
</div>
<p>Chiaramente nel file rpc.php richiamato dalla funzione load di jQuery, dovra&#8217; essere implementata una struttura che ci permetta in base alla scelta numerica passata alla funzione loadContent() di selezionare il contenuto da restituire, questo puo &#8216; essere realizzato usando uno switch case. Se non e&#8217; sufficientemente chiaro il funzionamento potete scaricare il pacchetto da modificare sul sito di nodstrum.com presente nei riferimenti.</p>
<p><strong><br />
Riferimenti:</strong><br />
<a href="http://nodstrum.com/2007/03/20/jquery-content-loading/" title="jquery content loading" target="_blank">http://nodstrum.com/2007/03/20/jquery-content-loading/</a><br />
<a href="http://docs.jquery.com/Ajax/load" title="jquery ajax load function" target="_blank">http://docs.jquery.com/Ajax/load</a><br />
<a href="http://it.wikipedia.org/wiki/XMLHttpRequest" title="wikipedia XMLHttpRequest " target="_blank">http://it.wikipedia.org/wiki/XMLHttpRequest </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/jquery-ajax-content-loading-caricare-contenuti-div.php/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
