<?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>Tarotoast's Stuff &#187; Ajax</title>
	<atom:link href="http://blog.tarotoast.com/category/it/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tarotoast.com</link>
	<description>Personal blog</description>
	<lastBuildDate>Tue, 04 May 2010 08:49:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ajax 筆記</title>
		<link>http://blog.tarotoast.com/2007/04/02/356/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ajax-%25e7%25ad%2586%25e8%25a8%2598</link>
		<comments>http://blog.tarotoast.com/2007/04/02/356/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 00:15:38 +0000</pubDate>
		<dc:creator>tarotoast</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[scriptaculous]]></category>

		<guid isPermaLink="false">http://blog.tarotoast.com/2007/04/02/356/</guid>
		<description><![CDATA[過去幾天一直在摸 AJAX 的相關東西，而跟以前不同的是，這次有下去實作。實作的內容是寶貝哈泥的作業，我想應該是不會拿去交啦，有點類似國小在教小畫家但是拿 Photoshop 的作品去交件。趁還記得把一些心得記下來： Prototype.js: $( ) 是超級好朋友，省了好多字 $( ) 不能用在 radiobutton 上 超省時 XMLHttpRequest Syntax: ob = new Ajax.Request( URL, { method: 'get/post', parameters:'a=1&#38;b=2', onComplete:funcOb }); onComplete 或者其他 onXxxxx 的 funcOb 要用 var funcOb = function(param) { &#8230; } 下去定義 除了丟 funcOb 以外，也可以直接丟 anonymous function 像是 onComplete: function(param) { &#8230; } 這樣 $( [...]]]></description>
			<content:encoded><![CDATA[<p>過去幾天一直在摸 AJAX 的相關東西，而跟以前不同的是，這次有下去實作。實作的內容是<a href="http://blog.babehoney.com/" title="寶貝哈泥">寶貝哈泥</a>的作業，我想應該是不會拿去交啦，有點類似國小在教小畫家但是拿 Photoshop 的作品去交件。趁還記得把一些心得記下來：</p>
<p><strong>Prototype.js:</strong></p>
<ul>
<li>$( ) 是超級好朋友，省了好多字</li>
<li>$( ) 不能用在 radiobutton 上</li>
<li>超省時 XMLHttpRequest Syntax:
<pre class="javascript">ob = new Ajax.Request(
    URL,
    {
        method: 'get/post',
        parameters:'a=1&amp;b=2',
        onComplete:funcOb
    });</pre>
</li>
<li>onComplete 或者其他 onXxxxx 的 funcOb 要用 var funcOb = function(param) { &#8230; } 下去定義</li>
<li>除了丟 funcOb 以外，也可以直接丟 anonymous function 像是 onComplete: function(param) { &#8230; } 這樣</li>
<li>$( ).visible() 和 $( ).hide() + $( ).show() 真是省了好多 browser hack 的工作</li>
</ul>
<p><strong>Scriptaculous.js:</strong></p>
<ul>
<li>Effect.toggle(&#8216;ID&#8217;) 是美觀大方又實用到爆的開關</li>
<li>Effect.Fade(&#8216;ID1&#8242;, {queue:&#8217;end&#8217;}) 然後 Effect.Fade(&#8216;ID2&#8242;, {queue:&#8217;end&#8217;}) 會先 Fade 完 ID1 後才會 Fade ID2</li>
</ul>
<p><strong>XML:</strong></p>
<ul>
<li>
<pre class="xml">&lt;?xml version="1.0" encoding="big5" standalone="yes" ?&gt;</pre>
<p>順序很重要，嗯哼，亂掉就不給 parse \囧/</li>
<li>IE 真的很討厭，只要 XML 有一咪咪問題 responseXML 就變成空的，所以最好用 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=72D6AA49-787D-4118-BA5F-4F30FE913628&amp;displaylang=en">Microsoft XML Notepad 2007</a> 之類的先 validate</li>
<li>PHP 在丟 XML 時候記得要丟 header，像是
<pre class="javascript">header('Content-Type:text/xml;charset=Big5')</pre>
</li>
</ul>
<p><strong>DOM:</strong></p>
<ul>
<li><a href="http://developer.mozilla.org/en/docs/Gecko_DOM_Reference">Mozilla DOM</a> 是個好地方，多看多嘗試就會了</li>
<li>element.value 才是取得 input 物件裡面的值，element.innerHTML 是拿來塞東西到 &lt;div id=&#8221;mydiv&#8221;&gt;&lt;/div&gt; 之間的</li>
</ul>
<p>這些是實作的不同版本：</p>
<ul>
<li><a href="http://tworz.org/ajaxbmi1.php">ajaxbmi1</a>: 超級基本的版本，直接用 responseText 來丟進 innerHTML</li>
<li><a href="http://tworz.org/ajaxbmi2.php">ajaxbmi2</a>: 開始會丟 XML 來生成 responseXML 了</li>
<li><a href="http://tworz.org/ajaxbmi3.php">ajaxbmi3</a>: 開始使用 prototype/scriptaculous 來簡化許多東西<br />
這個版本有個用 behavior 生的 syntax highlighter (<a href="http://dean.edwards.name/my/behaviors/#star-light.htc">star-light</a>)，而原因是因為<a href="http://blog.cookys.org">林餅幹</a>家的 <a href="http://www.lighttpd.net/">lighty</a> 沒設好 phps 的輸出所以一時起興掛上去的</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.tarotoast.com/2007/04/02/356/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajax 的 responseText 中文亂碼問題</title>
		<link>http://blog.tarotoast.com/2007/03/30/355/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ajax-%25e7%259a%2584-responsetext-%25e4%25b8%25ad%25e6%2596%2587%25e4%25ba%2582%25e7%25a2%25bc%25e5%2595%258f%25e9%25a1%258c</link>
		<comments>http://blog.tarotoast.com/2007/03/30/355/#comments</comments>
		<pubDate>Fri, 30 Mar 2007 10:19:52 +0000</pubDate>
		<dc:creator>tarotoast</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[chinese]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.tarotoast.com/2007/03/30/355/</guid>
		<description><![CDATA[剛剛在實驗 element.innerHTML = AJAX.responseText 時候碰到了中文亂碼問題，稍微找了一下，以下是最簡單的解法。 假設 AJAX.open('POST', 'cgi.php', true), 然後 cgi.php 要輸出中文的內容，那記得在輸出前先丟個 header： header('Content-Type:text/html;charset=big5'); 問題解決。 對付 responseXML 時候把 text/html 改成 text/xml 就好了。]]></description>
			<content:encoded><![CDATA[<p>剛剛在實驗 <code>element.innerHTML = AJAX.responseText</code> 時候碰到了中文亂碼問題，稍微找了一下，以下是最簡單的解法。</p>
<p>假設 <code>AJAX.open('POST', 'cgi.php', true)</code>, 然後 <code>cgi.php</code> 要輸出中文的內容，那記得在輸出前先丟個 header：</p>
<blockquote><p> <code>header('Content-Type:text/html;charset=big5');</code></p></blockquote>
<p>問題解決。</p>
<p>對付 <code>responseXML</code> 時候把 <code>text/html</code> 改成 <code>text/xml</code> 就好了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tarotoast.com/2007/03/30/355/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
