<?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>大风口 &#187; AJAX</title>
	<atom:link href="http://www.masterboke.com/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masterboke.com</link>
	<description>I want to change the world!</description>
	<lastBuildDate>Fri, 16 Sep 2011 09:41:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>使用eval生成JSON对象</title>
		<link>http://www.masterboke.com/2009/01/21/%e4%bd%bf%e7%94%a8eval%e7%94%9f%e6%88%90json%e5%af%b9%e8%b1%a1/</link>
		<comments>http://www.masterboke.com/2009/01/21/%e4%bd%bf%e7%94%a8eval%e7%94%9f%e6%88%90json%e5%af%b9%e8%b1%a1/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 07:32:37 +0000</pubDate>
		<dc:creator>boke</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.masterboke.cn/?p=181</guid>
		<description><![CDATA[<a href="http://www.masterboke.com/2009/01/21/%e4%bd%bf%e7%94%a8eval%e7%94%9f%e6%88%90json%e5%af%b9%e8%b1%a1/" title="使用eval生成JSON对象"></a>我们假设通过var ret = xmlHttp.responseText 得到服务器端已经组装好的数据，在使用eval生成JSON对象时，一定要注意添加一对圆括号，例如： var json = eval(&#8216;(&#8216;+ret+&#8217;)'); 假设我们在服务器端使用php的encode_json()生成需要返回的字符串 如果生成的字符串是[{"name":"boke"},{"age":"23"}]，我们可以直接使用eval([{"name":"boke"},{"age":"23"}])生成相应的JSON对象； 如果生成的字符串是{“name”:”boke”,”age”:”23&#8243;}，我们使用eval({“name”:”boke”,”age”:”23&#8243;})生成JSON对象时就会出错，我们需要这样写eval(({“name”:”boke”,”age”:”23&#8243;}))。 eval(( ))的写法同样适用于包括第一种情况在内的其它通过encode_json()函数生成的字符串。]]></description>
			<content:encoded><![CDATA[<a href="http://www.masterboke.com/2009/01/21/%e4%bd%bf%e7%94%a8eval%e7%94%9f%e6%88%90json%e5%af%b9%e8%b1%a1/" title="使用eval生成JSON对象"></a><p>我们假设通过var ret = xmlHttp.responseText 得到服务器端已经组装好的数据，在使用eval生成JSON对象时，一定要注意添加一对圆括号，例如：<br />
var json = eval(&#8216;(&#8216;+ret+&#8217;)');</p>
<p>假设我们在服务器端使用php的encode_json()生成需要返回的字符串</p>
<p>如果生成的字符串是[{"name":"boke"},{"age":"23"}]，我们可以直接使用eval([{"name":"boke"},{"age":"23"}])生成相应的JSON对象；</p>
<p>如果生成的字符串是{“name”:”boke”,”age”:”23&#8243;}，我们使用eval({“name”:”boke”,”age”:”23&#8243;})生成JSON对象时就会出错，我们需要这样写eval(({“name”:”boke”,”age”:”23&#8243;}))。</p>
<p>eval(( ))的写法同样适用于包括第一种情况在内的其它通过encode_json()函数生成的字符串。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masterboke.com/2009/01/21/%e4%bd%bf%e7%94%a8eval%e7%94%9f%e6%88%90json%e5%af%b9%e8%b1%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手机使用AJAX</title>
		<link>http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/</link>
		<comments>http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 07:06:44 +0000</pubDate>
		<dc:creator>boke</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[markup language]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[xhtml mp]]></category>

		<guid isPermaLink="false">http://www.masterboke.cn/?p=177</guid>
		<description><![CDATA[<a href="http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/" title="手机使用AJAX"></a>测试一下手机浏览器对AJAX的支持： &#60;?xml version="1.0" encoding="UTF-8"?&#62; &#60;!DOCTYPE html PUBLIC "-//OMA//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"&#62; &#60;html xmlns="http://www.w3.org/1999/xhtml"&#62; &#60;head&#62; &#60;meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /&#62; &#60;title&#62;title&#60;/title&#62; &#60;/head&#62; &#60;body&#62; &#60;div id="a"&#62;&#60;/div&#62; &#60;div id='b'&#62;&#60;/div&#62; &#60;input type="button" onclick="startXMLHttp();" value="发送GET" /&#62; &#60;div id="a1"&#62;&#60;/div&#62; &#60;div id='b1'&#62;&#60;/div&#62; &#60;input type="button" onclick="startXMLHttp1();" value="发送POST" &#8230;<p class="read-more"><a href="http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/">继续阅读 &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/" title="手机使用AJAX"></a><p>测试一下手机浏览器对AJAX的支持：</p>
<p>
<pre name="code" class="html">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE html PUBLIC "-//OMA//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /&gt;
&lt;title&gt;title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="a"&gt;&lt;/div&gt;
&lt;div id='b'&gt;&lt;/div&gt;
&lt;input type="button" onclick="startXMLHttp();" value="发送GET" /&gt;
&lt;div id="a1"&gt;&lt;/div&gt;
&lt;div id='b1'&gt;&lt;/div&gt;
&lt;input type="button" onclick="startXMLHttp1();" value="发送POST" /&gt;

&lt;script type="text/javascript"&gt;
 //&lt;![CDATA[
  var xmlHttp;
  function createXMLHttp()
  {
    if (window.XMLHttpRequest)
    {
      xmlHttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
      try
      {
        xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
      }
      catch(e)
      {
        try
        {
          xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e) {};
      }
    }
  }
  
  function startXMLHttp()
  {
    createXMLHttp();
    var sendStr = "name=博科&amp;age=23";
    sendStr = encodeURI(sendStr);
  var t1 = document.createTextNode(sendStr);
    document.getElementById('a').appendChild(t1);
    xmlHttp.onreadystatechange = doSomething;
    xmlHttp.open('GET','ajaxtest.php?'+sendStr,true);
    xmlHttp.send(null);
  }
  
  function doSomething()
  {
    
    if (xmlHttp.readyState == 4)
    {
      if (xmlHttp.status == 200)
      {
    var t2 = document.createTextNode(xmlHttp.responseText);
        document.getElementById('b').appendChild(t2);
    //document.getElementById('b').innerHTML = xmlHttp.responseText;
      }
    }
  }
  
  function startXMLHttp1()
  {
    createXMLHttp();
    var sendStr = "name=博科&amp;age=23";
    sendStr = encodeURI(sendStr);
  var t3 = document.createTextNode(sendStr);
    document.getElementById('a1').appendChild(t3);
    xmlHttp.onreadystatechange = doSomething1;
    xmlHttp.open('POST','ajaxtest1.php',true);
    xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    xmlHttp.send(sendStr);
  }
  
  function doSomething1()
  {
    if (xmlHttp.readyState == 4)
    {
      if (xmlHttp.status == 200)
      {
        var ret = eval('('+xmlHttp.responseText+')');
        var t4 = document.createTextNode('你的名字是'+ret.name+'，年龄是'+ret.age); 
        document.getElementById('b1').appendChild(t4);
        //document.getElementById('b1').innerHTML = xmlHttp.responseText;
      }
    }
  }
 //]]&gt;
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
</p>
<p>由于是xhtml，如果服务器返回的数据里面有“&amp;”，“&lt;”等特殊字符，以及html标签等，就会提示解析错误，所以我们不能使用document.getElementById(&#8216;b1&#8242;).innerHTML = xmlHttp.responseText了，这里需要注意。<br class="spacer_" />推荐在服务器端将数据组装成JSON格式，然后在客户端使用createElement()，appendChild()等DOM方法生成所需的样式。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masterboke.com/2009/01/21/%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascritp,prototype,jquery,mootools的AJAX使用</title>
		<link>http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/</link>
		<comments>http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 08:23:53 +0000</pubDate>
		<dc:creator>boke</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.masterboke.cn/?p=26</guid>
		<description><![CDATA[<a href="http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/" title="Javascritp,prototype,jquery,mootools的AJAX使用"></a>老是记不住各个框架的AJAX写法，今天总结了一下，发现了一些小不同。 Javascript及prototype写法： &#60;div id="a">&#60;/div> &#60;div id='b'>&#60;/div> &#60;input type="button" onclick="startXMLHttp();" value="普通GET" /> &#60;div id="a1">&#60;/div> &#60;div id='b1'>&#60;/div> &#60;input type="button" onclick="startXMLHttp1();" value="普通POST" /> &#60;div id="c">&#60;/div> &#60;div id="d">&#60;/div> &#60;input type="button" onclick="prototypeSend();" value="prototype GET" /> &#60;div id="c1">&#60;/div> &#60;div id="d1">&#60;/div> &#60;input type="button" onclick="prototypeSend1();" value="prototype POST" /> &#8230;<p class="read-more"><a href="http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/">继续阅读 &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/" title="Javascritp,prototype,jquery,mootools的AJAX使用"></a><p>老是记不住各个框架的AJAX写法，今天总结了一下，发现了一些小不同。</p>
<p>Javascript及prototype写法：</p>
<pre  class="brush:html">
&lt;div id="a">&lt;/div>
&lt;div id='b'>&lt;/div>
&lt;input type="button" onclick="startXMLHttp();" value="普通GET" />
&lt;div id="a1">&lt;/div>
&lt;div id='b1'>&lt;/div>
&lt;input type="button" onclick="startXMLHttp1();" value="普通POST" />
&lt;div id="c">&lt;/div>
&lt;div id="d">&lt;/div>
&lt;input type="button" onclick="prototypeSend();" value="prototype GET" />
&lt;div id="c1">&lt;/div>
&lt;div id="d1">&lt;/div>
&lt;input type="button" onclick="prototypeSend1();" value="prototype POST" />

&lt;script type="text/javascript">
  var xmlHttp;
  function createXMLHttp()
  {
    if (window.XMLHttpRequest)
    {
      xmlHttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
      try
      {
        xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
      }
      catch(e)
      {
        try
        {
          xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e) {};
      }
    }
  }

  function startXMLHttp()
  {
    createXMLHttp();
    var sendStr = "name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt";
    sendStr = encodeURI(sendStr);
    document.getElementById('a').innerHTML = sendStr;
    xmlHttp.onreadystatechange = doSomething;
    xmlHttp.open('GET','ajaxtest.php?'+sendStr,true);
    xmlHttp.send(null);
  }

  function doSomething()
  {

    if (xmlHttp.readyState == 4)
    {
      if (xmlHttp.status == 200)
      {
        document.getElementById('b').innerHTML = xmlHttp.responseText;
      }
    }
  }

  function startXMLHttp1()
  {
    createXMLHttp();
    var sendStr = "name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt";
    sendStr = encodeURI(sendStr);
    document.getElementById('a1').innerHTML = sendStr;
    xmlHttp.onreadystatechange = doSomething1;
    //xmlHttp.open('GET','ajaxtest.php?'+sendStr,true);
    //xmlHttp.send(null);
    xmlHttp.open('POST','ajaxtest.php',true);
    xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    xmlHttp.send(sendStr);
  }

  function doSomething1()
  {

    if (xmlHttp.readyState == 4)
    {
      if (xmlHttp.status == 200)
      {
        document.getElementById('b1').innerHTML = xmlHttp.responseText;
      }
    }
  }
&lt;/script>

&lt;script type="text/javascript">
function prototypeSend()
{
  var po = new Ajax.Request('ajaxtest.php',
  {
    method:'GET',
    parameters: "name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt",
    onSuccess: function(transport){
      document.getElementById('c').innerHTML = po.parameters.name+po.parameters.age+po.parameters.en;
      document.getElementById('d').innerHTML = transport.responseText;
    },
    onFailure: function(){ }
  });
}
function prototypeSend1()
{
  var po = new Ajax.Request('ajaxtest.php',
  {
    method:'POST',
    parameters: "name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt",
    onSuccess: function(transport){
      document.getElementById('c1').innerHTML = po.parameters.name+po.parameters.age+po.parameters.en;
      document.getElementById('d1').innerHTML = transport.responseText;
    },
    onFailure: function(){ }
  });
}
&lt;/script>
</pre>
<p>jQuery写法：</p>
<pre class="brush:html">
&lt;div id="e">&lt;/div>
&lt;div id="f">&lt;/div>
&lt;input type="button" onclick="jquerySend();" value="jquery GET" />
&lt;div id="e1">&lt;/div>
&lt;div id="f1">&lt;/div>
&lt;input type="button" onclick="jquerySend1();" value="jquery POST" />
&lt;script type="text/javascript">
  function jquerySend()
  {
    var po = $.ajax({
      type:'GET',
      url:'ajaxtest.php',
      data:"name=博科&#038;age=23&#038;en=<>@+/ ://'f#a",
      success:function(transport){
      //document.getElementById('e').innerHTML = this.data;
      document.getElementById('f').innerHTML = transport;
      }
    })
  }

  function jquerySend1()
  {
    var po = $.ajax({
      type:'POST',
      url:'ajaxtest.php',
      data:"name=博科&#038;age=23&#038;en=<>@+/ ://'f#a",
      success:function(transport){
      //document.getElementById('e1').innerHTML = po.data.name+po.data.age+po.data.en;
      document.getElementById('f1').innerHTML = transport;
      }
    })
  }
&lt;/script>
</pre>
<p>mootools写法：</p>
<pre class="brush:html">
&lt;div id="a">&lt;/div>
&lt;div id='b'>&lt;/div>
&lt;input type="button" onclick="startXMLHttp();" value="mootools GET" />
&lt;div id="a1">&lt;/div>
&lt;div id='b1'>&lt;/div>
&lt;input type="button" onclick="startXMLHttp1();" value="mootools POST" />
&lt;script type="text/javascript">
function startXMLHttp()
{
	new Request({url: 'ajaxtest.php',
        method:'get',
        data:"name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt",
        onSuccess: function(responseText) {
            document.getElementById('b').innerHTML = responseText;
        },
        onFailure: function() {

        }
    }).send();
}

function startXMLHttp1()
{
	new Request({url: 'ajaxtest.php',
        method:'post',
        data:"name=博科&#038;age=23&#038;en=<>@+/ ://'f#a&#038;mn=%rt",
        onSuccess: function(responseText) {
            document.getElementById('b1').innerHTML = responseText;
        },
        onFailure: function() {

        }
    }).send();
}

&lt;/script>
</pre>
<p>以上Prototype 1.6.0.2,jQuery 1.2.6,mootools 1.2.1。<br />
prototype自动对“+”进行了编码，所以后台用php的urldecode时能够把“+”正确解析,但是其它几种方法没有，urldecode时把“+”解析成了空格。</p>
<p>使用GET提交时，如果不对变量进行encodeURIComponent，此时若某个变量里带有“#”，那从这个变量的“#”字符往后的参数就不能被正确传递，但是POST可以。不过prototype的POST和GET是一样的，“#”之后的字符都不能被正确传递，而且如果使用了encodeURIComponent，prototype会报错。看了一下prototype代码对“#”进行了特殊处理。本想调试一下试试，可是我的firefox(firefox内存占用一直在涨没有尽头，唉)立马把握的老机（hp ze2202）卡死，cpu 100%，其它浏览器不知道用啥调试。</p>
<p>暂时就这些，以后用的时候注意，有空继续研究。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masterboke.com/2009/01/12/javascritpprototypejquerymootools%e7%9a%84ajax%e4%bd%bf%e7%94%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>25个优秀的Ajax技术和实例</title>
		<link>http://www.masterboke.com/2009/01/07/25%e4%b8%aa%e4%bc%98%e7%a7%80%e7%9a%84ajax%e6%8a%80%e6%9c%af%e5%92%8c%e5%ae%9e%e4%be%8b/</link>
		<comments>http://www.masterboke.com/2009/01/07/25%e4%b8%aa%e4%bc%98%e7%a7%80%e7%9a%84ajax%e6%8a%80%e6%9c%af%e5%92%8c%e5%ae%9e%e4%be%8b/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 01:37:51 +0000</pubDate>
		<dc:creator>boke</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.masterboke.cn/?p=15</guid>
		<description><![CDATA[come from javaeye<p class="read-more"><a href="http://www.masterboke.com/2009/01/07/25%e4%b8%aa%e4%bc%98%e7%a7%80%e7%9a%84ajax%e6%8a%80%e6%9c%af%e5%92%8c%e5%ae%9e%e4%be%8b/">继续阅读 &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.masterboke.com/2009/01/07/25%e4%b8%aa%e4%bc%98%e7%a7%80%e7%9a%84ajax%e6%8a%80%e6%9c%af%e5%92%8c%e5%ae%9e%e4%be%8b/" title="25个优秀的Ajax技术和实例"></a><p>1.<a href="http://www.ibm.com/developerworks/library/x-ajaxrss/" target="_blank">Ajax RSS reader</a><br />
一个简单的RSS reader，读取远程xml数据基于AJAX,PHP,MYSQL的RSS源，<br />
这个例子允许用户在一个网页中查看多种源内容</p>
<p>2.<a href="http://www.musestorm.com/tutorials/ajax/" target="_blank">Ajax 桌面</a><br />
该指南是一个手把手教程，通过它你可以创建一个类似<br />
于<a href="http://www.pageflakes.com/" target="_blank">PageFlage</a>PageFlage 和<br />
<a href="http://www.netvibes.com/" target="_blank">Netvibes</a>的桌面/网页。这个指南的目的是展示一些基于web应用程序的技巧，这些技巧也是比较常用的，比如操纵DOM，事件监听，读取远程数据.<br />
<a href="http://www.musestorm.com/examples/desktop.html" target="_blank">Ajax Desktop demo </a></p>
<p>3.<a href="http://www.ibm.com/developerworks/library/x-ajaxxml8/" target="_blank">AJAX for chat</a><br />
使用异步JS,XML,PHP创建一个简单的基于web的聊天客户端</p>
<p>4.<a href="http://www.ibm.com/developerworks/edu/wa-dw-wa-aj-space.html" target="_blank">使用AJAX和del.icio.us创建自己的信息空间</a><br />
使用<a href="http://del.icio.us/help/api/" target="_blank">del.icic.us API</a>，但是方法和思想可以适用与其他流行的服务，如：<a href="http://apidoc.digg.com/" target="_blank">DIGG</a>和<a href="http://www.flickr.com/services/api/" target="_blank">Flickr</a></p>
<p>5.<a href="http://www.insideria.com/2008/03/ultralightweight-charts-for-aj.html" target="_blank">AJAX超轻量级图表</a><br />
使用动态读取数据允许用户创建虚拟的图形(falsh with ajax)。<br />
该方案涉及到js脚本交互，和setData和setStyle方法</p>
<p>6.<a href="http://evolt.org/node/60673" target="_blank">使用ajax和PHP创建日历</a><br />
使用ajax和PHP创建一个日历组件，月份转换无须刷新页面<br />
<a href="http://web-developer.sitecritic.net/quick_calendar_demo.php" target="_blank">Quick Calendar demo </a></p>
<p>7.<a href="http://ajax.phpmagazine.net/2006/04/howto_integrate_google_calenda.html" target="_blank">如何在你的网站中使用ajax整合google日历</a><br />
该指南展示了如何在一个网页里创建一个调用一个公共的Google日历<br />
<a href="http://phpmagazine.net/demo/ajaxcalendar/" target="_blank">AJAX calendar demo </a></p>
<p>8.<a href="http://15daysofjquery.com/edit-in-place-with-ajax-using-jquery-javascript-library/15/" target="_blank">Edit-in-Place with jQuery</a><br />
<a href="http://15daysofjquery.com/examples/jqueryEditInPlace/divEdit.php" target="_blank">Edit In Place demo 1 </a><br />
<a href="http://15daysofjquery.com/examples/jqueryEditInPlace/demo.php" target="_blank">Edit In Place demo 2 </a></p>
<p>9.<a href="http://www.progressive-coding.com/tutorial.php?id=6" target="_blank">创建一个AJAX星级评定构件</a><br />
评定系统，无须点击按钮或者刷新页面(那通过什么？？点击文章的链接？？？)<br />
使用js框架/库：DOJO,JQUERY，mootools,Prototype JS</p>
<p>10.<a href="http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html" target="_blank">使用AJAX上传文件</a><br />
<a href="http://www.ajaxf1.com/demo/ajaxupload/" target="_blank">AJAX File Uploader demo </a></p>
<p>11.<a href="http://www.sitepoint.com/article/use-ajax-php-build-mailing-list" target="_blank">使用AJAX，PHP创建mailing列表</a><br />
使用MYSQL储存用户输入的数据，Prototype JS 用于简化AJAX请求和绑定时间处理</p>
<p>12．<a href="http://15daysofjquery.com/safer-contact-forms-without-captchas/11/" target="_blank">安全的联系人表单</a><br />
<a href="http://15daysofjquery.com/examples/contact-forms/code/demo.php" target="_blank">Safer Form demo </a></p>
<p>13. <a href="http://waelchatila.com/2005/12/18/1134960510669.html" target="_blank">Ajax with CAPTCHA</a></p>
<p>14.<a href="http://www.chazzuka.com/blog/?p=174" target="_blank">基于AJAX的登陆表单</a><br />
异步验证输入的数据，使用<a href="http://plugins.jquery.com/project/form" target="_blank">jQuery form plugin</a>和PHP处理请求<br />
<a href="http://www.chazzuka.com/experiments/ajax-jquery-php-login/login.php" target="_blank">Ajax-based login form demo </a></p>
<p>15. <a href="http://woork.blogspot.com/2008/03/nice-ajax-effect-for-message-box-using.html" target="_blank">AJAX效果(for message box)</a><br />
在该效果图中，用户点击save按钮，提示框颜色将逐渐消退<br />
<a href="http://woork.bravehost.com/chainMootools/index.html" target="_blank">Nice Ajax Effects for messages box demo </a></p>
<p>16. <a href="http://nodstrum.com/2007/09/19/autocompleter/" target="_blank">文字自动提示</a><br />
类似google的效果<br />
<a href="http://res.nodstrum.com/autoComplete/index.htm" target="_blank">AutoCompleter tutorial demo</a></p>
<p>17.<a href="http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/" target="_blank">自动填充选择框</a><br />
使用jQuery&amp;AJAX,无须刷新页面，自动填充内容<br />
<a href="http://remysharp.com/wp-content/uploads/2007/09/select-chain.php" target="_blank">Auto-populating Select Boxes demo </a></p>
<p>18.<a href="http://www.webmonkey.com/tutorial/Build_an_Ajax_Dropdown_Menu" target="_blank">ajax下拉菜单</a><br />
<a href="http://duvinci.com/projects/ajax/dropdowns/" target="_blank">Ajax Dropdown Menu demo </a></p>
<p>19.<a href="http://boonage.pjss2.net/2007/02/12/ajaxphp-shoutbox-tutorial/" target="_blank">Ajax/PHP Shoutbox</a><br />
<a href="http://boonage.pjss2.net/example/shoutbox.php" target="_blank">AJAX Shoutbox demo </a></p>
<p>20. <a href="http://www.ajaxlessons.com/2006/02/18/ajax-workshop-2-building-tabbed-content/" target="_blank">选项卡</a><br />
通过ajax填充数据, 使用PHP和Prototype JS<br />
<a href="http://www.ajaxlessons.com/demo/workshop2.html" target="_blank">Building Tabbed Content demo </a></p>
<p>21.<a href="http://nettuts.com/javascript-ajax/how-to-load-in-and-animate-content-with-jquery/" target="_blank">Load In and Animate Content</a><br />
展示如何读取数据到一个页面，使用jQuery处理Ajax请求和处理DOM<br />
<a href="http://nettuts.s3.amazonaws.com/011_jQuerySite/sample/index.html" target="_blank">Load In and Animate Content demo </a></p>
<p>22. <a href="http://particletree.com/features/the-hows-and-whys-of-degradable-ajax/" target="_blank">The Hows and Whys of Degradable Ajax</a><br />
<a href="http://particletree.com/examples/degradableajax/" target="_blank">Degradable Ajax demo </a></p>
<p>23.<a href="http://www.ibm.com/developerworks/web/library/wa-aj-resttip.html?S_TACT=105AGX08&amp;S_CMP=EDU" target="_blank">使用避免多余的Ajax交互</a><br />
使用该方法，可以在数据没有更新的情况下，尽量减少不必要的数据库状态的改变和计算过程。</p>
<p>24.<a href="http://www.ajaxonomy.com/2007/web-design/a-better-ajax-back-button-solution" target="_blank">更好的AJAX Back Button Solution</a><br />
<a href="http://www.ajaxonomy.com/files/backbuton.htm" target="_blank">A Better Ajax Back Button demo </a></p>
<p>25.<a href="http://juicystudio.com/article/making-ajax-work-with-screen-readers.php" target="_blank">Making Ajax Work with Screen Readers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.masterboke.com/2009/01/07/25%e4%b8%aa%e4%bc%98%e7%a7%80%e7%9a%84ajax%e6%8a%80%e6%9c%af%e5%92%8c%e5%ae%9e%e4%be%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

