|
|
(未顯示由 4 位使用者於中間所作的 32 次修訂) |
行 1: |
行 1: |
− | [http://virosaur.strefa.pl/sitemap.html top] [http://vastack.interfree.it/20081123-edriveto-phentermine.html e.drive.to phentermine] [http://wejolly.strefa.pl/mit-usability-20081204.html mit usability] [http://kamada.strefa.pl/page1981.html folding step stool] [http://enpasel.ifrance.com/1025435971.htm butthole rimming]
| + | {{MDC|AJAX:上手篇}} |
− | [http://clpatric.strefa.pl/sitemap.html http] [http://fokrdarc.ifrance.com/sitemap.htm url] [http://oufokme.ifrance.com/henerlet1273.htm etower 733i video] [http://oufokme.ifrance.com/ricnezne1151.htm svptm 7 in one digital video camcorder] [http://wejolly.strefa.pl/bless-the-broken-20081122.html bless the broken road]
| + | 這篇文章說明 AJAX 相關技術的基礎,並提供實例供您上手。 |
− | [http://xlac4tr.ifrance.com/movie-wild-card-2008-12-03.htm movie wild card] [http://haschucka.interfree.it/sitemap.html webmap] [http://woelgin.interfree.it/topic-70.html incorporating for small business] [http://vastack.interfree.it/20081203-movie-roys-taxi.html movie roys taxi] [http://ezpascal.strefa.pl/mrtg-cisco-cpu.htm mrtg cisco cpu]
| |
− | [http://kamada.strefa.pl/page1254.html me without you movie] [http://imvasque.interfree.it/article655.html art prints of caribbean beaches for sale] [http://imvasque.interfree.it/sitemap.html http] [http://tpasrnrfi.ifrance.com/sitemap.html domain] [http://miminerv.strefa.pl/20081201-kougra-plushie.html kougra plushie]
| |
− | erletocnat
| |
− | {{MDC|AJAX:ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ}} | |
− | ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂëÃÂÃÂÃÂàÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂêÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂàAJAX ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂçÃÂÃÂÃÂäÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂæÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| |
| | | |
| | | |
− | == ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂêÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂòÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ'''ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú XMLHttpRequest'''ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂà== | + | == 第一步 – 說聲「請」 (又稱為「'''怎麼發出 XMLHttpRequest'''」) == |
| | | |
− | ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè JavaScript ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂàHTTP ÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂñÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂclassÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂéÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂinstanceÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂInternet Explorer ÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ ActiveX ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂà<code>XMLHTTP</code> ÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂàMozillaÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂSafari ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂöÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ <code>XMLHttpRequest</code> ÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂôÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂä ActiveX ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂñÃÂÃÂÃÂìÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 為了用 JavaScript 對伺服器發送 HTTP 要求,必須先以相關的類別(class)製出實體(instance)。Internet Explorer 首先以 ActiveX 物件方式提供 <code>XMLHTTP</code> 類別,而 Mozilla、Safari 及其他瀏覽器則隨後以 <code>XMLHttpRequest</code> 類別支援此 ActiveX 物件中的類別及屬性。 |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂèÃÂÃÂÃÂ÷ÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂëÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 因此,如果想跨瀏覽器,那麼可以這麼寫: |
| | | |
| <pre> | | <pre> |
行 22: |
行 17: |
| </pre> | | </pre> |
| | | |
− | (ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂîÃÂÃÂÃÂõÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂêÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂáÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂðÃÂÃÂÃÂáÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂëÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂîÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂøÃÂÃÂÃÂøÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂëÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ) | + | (由於這段程式僅供說明,所以是採最簡方式寫出。本文第三步中有另一種我們比較常用的寫法。) |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàMozilla ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂêÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂë XML mime-type ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂheaderÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂëÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂï <code>text/xml</code>ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 有些版本的 Mozilla 瀏覽器在伺服器送回的資料未含 XML mime-type 檔頭(header)時會出錯。為了避免這個問題,你可以用下列方法覆寫伺服器傳回的檔頭,以免傳回的不是 <code>text/xml</code>。 |
| | | |
| <pre> | | <pre> |
行 31: |
行 26: |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂñÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂêÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ <code>onreadystatechange</code> ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂñÃÂÃÂÃÂìÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàJavaScript ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 接下來是要決定伺服器傳回資料後的處理方式,此時你只要以 <code>onreadystatechange</code> 這個屬性指明要處理傳回值的 JavaScript 函式名稱即可,例如: |
| | | |
| <code>http_request.onreadystatechange = nameOfTheFunction;</code> | | <code>http_request.onreadystatechange = nameOfTheFunction;</code> |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂòÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè Javascript ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂþÃÂÃÂÃÂéÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂðÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 注意,指定的函式名稱後不加括號也沒有參數。除了指定函式名稱外,你也能用 Javascript 即時定義函式的方法來定一個新的處理函式,如下: |
| | | |
| <pre> | | <pre> |
| http_request.onreadystatechange = function(){ | | http_request.onreadystatechange = function(){ |
− | // ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂà| + | // 做些事 |
| }; | | }; |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂñÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú requestÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂëÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè HTTP request ÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>open()</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>send()</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 決定處理方式之後你得確實發出 request,此時需叫用 HTTP request 類別的 <code>open()</code> 及 <code>send()</code> 方法,如下: |
| | | |
| <pre> | | <pre> |
行 50: |
行 45: |
| </pre> | | </pre> |
| | | |
− | * <code>open()</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂï HTTP request ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂàGETÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂPOSTÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂHEAD ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÿÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂûÃÂÃÂÃÂæÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂôÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂõÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂê HTTP ÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂïÃÂÃÂÃÂëÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂöÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂàFirefoxÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂöÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂàHTTP request ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂôÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂà[http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C ÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂàÃÂÃÂÃÂüÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂø]ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | * <code>open()</code> 的第一個參數是 HTTP request 的方法,也就是從 GET、POST、HEAD 中擇一使用,亦可用你主機上支援的方式。為遵循 HTTP 標準,請記得這些方法都是大寫,不然有的瀏覽器(如 Firefox)或許不會理你。其他 HTTP request 可以支援的方法列表請參考 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C 規格書]。 |
− | * ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂîÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂàURLÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂëÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂëÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè <code>open()</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂþÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂìÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂöÃÂÃÂÃÂóÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂõÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂäÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂøÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂäÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂè domain.tld ÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂë www.domain.tld ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂ÷ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | * 第二個參數是目標 URL。基於安全考量,你不能叫用同網域以外的網頁。如果網域不同,則叫用 <code>open()</code> 時會出現「權限不足,拒絕存取」那類的錯誤。通常大夥會犯的錯誤多為在 domain.tld 網的網站下呼叫 www.domain.tld 中的網頁,僅是一點點差別都不行。 |
− | * ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂæÃÂÃÂÃÂñÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂä request ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂòÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂú <code>TRUE</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÿÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂêÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂùÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂ÷ÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂöÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂï AJAX ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂàA ÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂãÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂþÃÂÃÂÃÂéÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | * 第三個參數決定此 request 是否不同步進行,如果設定為 <code>TRUE</code> 則即使伺服器尚未傳回資料也會繼續執行其餘的程式,這也就是 AJAX 中第一個 A 代表的意義。 |
| | | |
− | <code>send()</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ POST ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú request ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂûÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂçÃÂÃÂÃÂõÃÂÃÂÃÂæÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂñÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂà| + | <code>send()</code> 的參數在以 POST 發出 request 時可以是任何想傳給伺服器的東西,而資料則以查詢字串的方式列出,例如: |
| | | |
| <code>name=value&anothername=othervalue&so=on</code> | | <code>name=value&anothername=othervalue&so=on</code> |
| | | |
− | ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ POST ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂàMIME ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂýÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 不過如果你想要以 POST 方式傳送資料,則必須先將 MIME 型態改好,如下: |
| <pre> | | <pre> |
| http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); | | http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
| </pre> | | </pre> |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 否則伺服器就不會理你傳過來的資料了。 |
| | | |
− | == ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂà== | + | == 第二步 – 「就上咩!」(又稱為「處理伺服器傳回的資料」) == |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú request ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 傳出 request 時必須提供處理傳回值的函式名稱。 |
| | | |
| <code>http_request.onreadystatechange = nameOfTheFunction;</code> | | <code>http_request.onreadystatechange = nameOfTheFunction;</code> |
| | | |
− | ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂòÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂâÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ request ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂîÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂú 4 ÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂãÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂèÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂ÷ÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂãÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 那麼來看看這個函式該做些什麼。首先,它必須檢查 request 目前的狀態:如果狀態值為 4 代表伺服器已經傳回所有資訊了,便可以開始解析所得資訊。 |
| | | |
| <pre> | | <pre> |
| if (http_request.readyState == 4) { | | if (http_request.readyState == 4) { |
− | // ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂàok, ÃÂÃÂÃÂçÃÂÃÂÃÂùÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂãÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | // 一切 ok, 繼續解析 |
| } else { | | } else { |
− | // ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂòÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | // 還沒完成 |
| } | | } |
| </pre> | | </pre> |
| | | |
− | <code>readyState</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂà| + | <code>readyState</code> 所有可能的值如下: |
− | * 0 (ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂòÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ) | + | * 0 (還沒開始) |
− | * 1 (ÃÂÃÂÃÂèÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ) | + | * 1 (讀取中) |
− | * 2 (ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂ÷ÃÂÃÂÃÂòÃÂÃÂÃÂèÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ) | + | * 2 (已讀取) |
− | * 3 (ÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂäÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ) | + | * 3 (資訊交換中) |
− | * 4 (ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ) | + | * 4 (一切完成) |
− | ([http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/readystate_1.asp ÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ: MSDN]) | + | ([http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/readystate_1.asp 資料來源: MSDN]) |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂâÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàHTTP ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂüÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂáÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂü [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html W3C ÃÂÃÂÃÂçÃÂÃÂÃÂöÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂëÃÂÃÂÃÂÃÂ]ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂðÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂîÃÂÃÂÃÂáÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂï <code>200 OK</code> ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂîÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 接下來要檢查伺服器傳回的 HTTP 狀態碼。所有狀態碼列表可於 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html W3C 網站]上查到,但我們要管的是 <code>200 OK</code> 這種狀態。 |
| | | |
| <pre> | | <pre> |
| if (http_request.status == 200) { | | if (http_request.status == 200) { |
− | // ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂ÷ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | // 萬事具備 |
| } else { | | } else { |
− | // ÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂüÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂà404 (ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂáÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ) ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
500 (ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂèÃÂÃÂÃÂêÃÂÃÂÃÂä) ÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | // 似乎有點問題,或許伺服器傳回了 404 (查無此頁) 或者 500 (內部錯誤) 什麼的 |
| } | | } |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂâÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàHTTP ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂñÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂæÃÂÃÂÃÂñÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂîÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 檢查傳回的 HTTP 狀態碼後,要怎麼處理傳回的資料就由你決定了。有兩種存取資料的方式: |
− | * <code>http_request.responseText</code> ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂòÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè | + | * <code>http_request.responseText</code> – 這樣會把傳回值當字串用 |
− | * <code>http_request.responseXML</code> ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂú <code>XMLDocument</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè JavaScript DOM ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | * <code>http_request.responseXML</code> – 這樣會把傳回值視為 <code>XMLDocument</code> 物件,而後可用 JavaScript DOM 相關函式處理 |
| | | |
− | == ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ - ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂÿÃÂÃÂÃÂñÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂà- ÃÂÃÂÃÂçÃÂÃÂÃÂðÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂîÃÂÃÂÃÂçÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂà== | + | == 第三步 - 萬事俱備 - 簡單範例 == |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂýÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂìÃÂÃÂÃÂáÃÂÃÂÃÂçÃÂÃÂÃÂðÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂîÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàHTTP ÃÂÃÂÃÂçÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂ÷ÃÂÃÂÃÂçÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂîÃÂÃÂÃÂõ JavaScript ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂüÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂýÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂáÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂI'm a test.ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàHTML ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂö(<code>test.html</code>)ÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ <code>alert()</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 好,接著就做一次簡單的 HTTP 範例,演示方才的各項技巧。這段 JavaScript 會向伺服器要一份裡頭有「I'm a test.」字樣的 HTML 文件(<code>test.html</code>),而後以 <code>alert()</code> 將文件內容列出。 |
| | | |
| <pre> | | <pre> |
行 159: |
行 154: |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂçÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 在此範例中: |
− | * ÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÿÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂMake a requestÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂà| + | * 首先使用者按下「Make a request」 |
− | * ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂúÃÂÃÂÃÂüÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂë <code>makeRequest()</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂæÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂü <code>test.html</code> (ÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂý HTML ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂþÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂîÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂ) | + | * 這麼一來就會呼叫 <code>makeRequest()</code> 函式,亦傳入參數值 <code>test.html</code> (也就是那份 HTML 檔的名稱,放在同目錄下) |
− | * ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú requestÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂìÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂäÃÂÃÂÃÂçÃÂÃÂÃÂõÃÂÃÂÃÂæ <code>onreadystatechange</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>alertContents()</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂà| + | * 接著發出 request,而後會將主導權交給 <code>onreadystatechange</code> 指定的 <code>alertContents()</code> 函式 |
− | * <code>alertContents()</code> ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂâÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂøÃÂÃÂÃÂøÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ <code>alert()</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂà<code>test.html</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂú | + | * <code>alertContents()</code> 檢查回應是否正常,而後以 <code>alert()</code> 將 <code>test.html</code> 的內容列出 |
| | | |
− | ÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥[http://www.w3clubs.com/mozdev/httprequest_test.html ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂñÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂæÃÂÃÂÃÂøÃÂÃÂÃÂìÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂ]ÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂùÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ[http://www.w3clubs.com/mozdev/test.html ÃÂÃÂÃÂæÃÂÃÂÃÂøÃÂÃÂÃÂìÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ]ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 你可以[http://www.w3clubs.com/mozdev/httprequest_test.html 由此測試本例],也可以參考[http://www.w3clubs.com/mozdev/test.html 測試檔案]。 |
| | | |
− | == ÃÂÃÂÃÂçÃÂÃÂÃÂìÃÂÃÂÃÂìÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂàÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂX ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂñÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂúÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàXML ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂà== | + | == 第四步 – 「X 檔案」(又稱為「處理 XML 回應值」) == |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂð HTTP ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>reponseText</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂñÃÂÃÂÃÂìÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂÿÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè <code>test.html</code> ÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂùÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂæ <code>responseXML</code> ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂñÃÂÃÂÃÂìÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 前面的例子中,在收到 HTTP 傳回值後我們以物件的 <code>reponseText</code> 屬性使用 <code>test.html</code> 檔案的內容,接著來試試 <code>responseXML</code> 屬性的方法。 |
| | | |
− | ÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂàÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂãÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂúÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂàXML ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÿÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>test.xml</code>ÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 首先,我們得做個格式正確的 XML 文件,以便稍後取用。此檔名喚 <code>test.xml</code>,內容如下: |
| | | |
| <pre> | | <pre> |
行 180: |
行 175: |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂëÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂæÃÂÃÂÃÂêÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂðÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂêÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂÿÃÂÃÂÃÂîÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 在程式中,我們叫用檔案的地方只須略事修改如下: |
| | | |
| <pre> | | <pre> |
行 188: |
行 183: |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂè <code>alertContents()</code> ÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂà<code>alert(http_request.responseText);</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ
| + | 接著在 <code>alertContents()</code> 中,我們必須將 <code>alert(http_request.responseText);</code> 改成這樣: |
| | | |
| <pre> | | <pre> |
行 196: |
行 191: |
| </pre> | | </pre> |
| | | |
− | ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂèÃÂÃÂÃÂãÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂþÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂà<code>responseXML</code> ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂóÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂà<code>XMLDocument</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ DOM ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂè XML ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂîÃÂÃÂÃÂùÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂýÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂà[http://www.w3clubs.com/mozdev/test.xml<code>test.xml</code> ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂâÃÂÃÂÃÂü] ÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂÿÃÂÃÂÃÂîÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂþÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ[http://www.w3clubs.com/mozdev/httprequest_test_xml.html ÃÂÃÂÃÂæÃÂÃÂÃÂøÃÂÃÂÃÂìÃÂÃÂÃÂèÃÂÃÂÃÂéÃÂÃÂÃÂæÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂüÃÂÃÂÃÂÃÂ]ÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 這樣一來我們便可取得 <code>responseXML</code> 所傳回的 <code>XMLDocument</code> 物件,而後以 DOM 相關的方法取用 XML 文件內容。你可以參考 [http://www.w3clubs.com/mozdev/test.xml<code>test.xml</code> 的原始碼] 以及修改過後的[http://www.w3clubs.com/mozdev/httprequest_test_xml.html 測試程式]。 |
| | | |
− | ÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂ
ÃÂÃÂÃÂöÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂàDOM ÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂøÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂùÃÂÃÂÃÂæÃÂÃÂÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂüÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂëÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂèÃÂÃÂÃÂÃÂÃÂÃÂÃÂà[http://www.mozilla.org/docs/dom/ Mozilla DOM] ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂãÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
| + | 其他與 DOM 相關的方法,請參考 [http://www.mozilla.org/docs/dom/ Mozilla DOM] 文件。 |
| | | |
| <div style="display:none;"> | | <div style="display:none;"> |
− | [[{{literal2|=Category:ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ|ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ=}}|{{literal2|={{PAGENAME}}|ÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂðÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂáÃÂÃÂÃÂÃÂ=}}]] | + | [[{{literal2|=Category:文件專案|文件專案=}}|{{literal2|={{PAGENAME}}|文件專案=}}]] |
| [[{{literal2|=Category:{{{4}}}|{{{4}}}=}}|{{literal2|={{PAGENAME}}|{{{4}}}=}}]] | | [[{{literal2|=Category:{{{4}}}|{{{4}}}=}}|{{literal2|={{PAGENAME}}|{{{4}}}=}}]] |
| [[{{literal2|=Category:{{{5}}}|{{{5}}}=}}|{{literal2|={{PAGENAME}}|{{{5}}}=}}]] | | [[{{literal2|=Category:{{{5}}}|{{{5}}}=}}|{{literal2|={{PAGENAME}}|{{{5}}}=}}]] |
行 207: |
行 202: |
| </div> | | </div> |
| | | |
− | <div class="page-nav"><b>ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂèÃÂÃÂÃÂÿÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂÃÂÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ: </b>[[ÃÂÃÂÃÂéÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂçÃÂÃÂÃÂÃÂÃÂÃÂÃÂüÃÂÃÂÃÂäÃÂÃÂÃÂúÃÂÃÂÃÂúÃÂÃÂÃÂÃÂ¥ÃÂÃÂÃÂÃÂÃÂÃÂÃÂáÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂäÃÂÃÂÃÂûÃÂÃÂÃÂöÃÂÃÂÃÂäÃÂÃÂÃÂøÃÂÃÂÃÂûÃÂÃÂÃÂéÃÂÃÂÃÂàÃÂÃÂÃÂÃÂ]]</div> | + | <div class="page-nav"><b>‧返回上一頁: </b>[[開發人員文件主頁]]</div> |
本文已經移往 Mozilla 開發者中心,請前往
目前網址參考最新資訊。
這篇文章說明 AJAX 相關技術的基礎,並提供實例供您上手。
第一步 – 說聲「請」 (又稱為「怎麼發出 XMLHttpRequest」)
為了用 JavaScript 對伺服器發送 HTTP 要求,必須先以相關的類別(class)製出實體(instance)。Internet Explorer 首先以 ActiveX 物件方式提供 XMLHTTP
類別,而 Mozilla、Safari 及其他瀏覽器則隨後以 XMLHttpRequest
類別支援此 ActiveX 物件中的類別及屬性。
因此,如果想跨瀏覽器,那麼可以這麼寫:
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
(由於這段程式僅供說明,所以是採最簡方式寫出。本文第三步中有另一種我們比較常用的寫法。)
有些版本的 Mozilla 瀏覽器在伺服器送回的資料未含 XML mime-type 檔頭(header)時會出錯。為了避免這個問題,你可以用下列方法覆寫伺服器傳回的檔頭,以免傳回的不是 text/xml
。
http_request = new XMLHttpRequest();
http_request.overrideMimeType('text/xml');
接下來是要決定伺服器傳回資料後的處理方式,此時你只要以 onreadystatechange
這個屬性指明要處理傳回值的 JavaScript 函式名稱即可,例如:
http_request.onreadystatechange = nameOfTheFunction;
注意,指定的函式名稱後不加括號也沒有參數。除了指定函式名稱外,你也能用 Javascript 即時定義函式的方法來定一個新的處理函式,如下:
http_request.onreadystatechange = function(){
// 做些事
};
決定處理方式之後你得確實發出 request,此時需叫用 HTTP request 類別的 open()
及 send()
方法,如下:
http_request.open('GET', 'http://www.example.org/some.file', true);
http_request.send(null);
open()
的第一個參數是 HTTP request 的方法,也就是從 GET、POST、HEAD 中擇一使用,亦可用你主機上支援的方式。為遵循 HTTP 標準,請記得這些方法都是大寫,不然有的瀏覽器(如 Firefox)或許不會理你。其他 HTTP request 可以支援的方法列表請參考 W3C 規格書。
- 第二個參數是目標 URL。基於安全考量,你不能叫用同網域以外的網頁。如果網域不同,則叫用
open()
時會出現「權限不足,拒絕存取」那類的錯誤。通常大夥會犯的錯誤多為在 domain.tld 網的網站下呼叫 www.domain.tld 中的網頁,僅是一點點差別都不行。
- 第三個參數決定此 request 是否不同步進行,如果設定為
TRUE
則即使伺服器尚未傳回資料也會繼續執行其餘的程式,這也就是 AJAX 中第一個 A 代表的意義。
send()
的參數在以 POST 發出 request 時可以是任何想傳給伺服器的東西,而資料則以查詢字串的方式列出,例如:
name=value&anothername=othervalue&so=on
不過如果你想要以 POST 方式傳送資料,則必須先將 MIME 型態改好,如下:
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
否則伺服器就不會理你傳過來的資料了。
第二步 – 「就上咩!」(又稱為「處理伺服器傳回的資料」)
傳出 request 時必須提供處理傳回值的函式名稱。
http_request.onreadystatechange = nameOfTheFunction;
那麼來看看這個函式該做些什麼。首先,它必須檢查 request 目前的狀態:如果狀態值為 4 代表伺服器已經傳回所有資訊了,便可以開始解析所得資訊。
if (http_request.readyState == 4) {
// 一切 ok, 繼續解析
} else {
// 還沒完成
}
readyState
所有可能的值如下:
- 0 (還沒開始)
- 1 (讀取中)
- 2 (已讀取)
- 3 (資訊交換中)
- 4 (一切完成)
(資料來源: MSDN)
接下來要檢查伺服器傳回的 HTTP 狀態碼。所有狀態碼列表可於 W3C 網站上查到,但我們要管的是 200 OK
這種狀態。
if (http_request.status == 200) {
// 萬事具備
} else {
// 似乎有點問題,或許伺服器傳回了 404 (查無此頁) 或者 500 (內部錯誤) 什麼的
}
檢查傳回的 HTTP 狀態碼後,要怎麼處理傳回的資料就由你決定了。有兩種存取資料的方式:
http_request.responseText
– 這樣會把傳回值當字串用
http_request.responseXML
– 這樣會把傳回值視為 XMLDocument
物件,而後可用 JavaScript DOM 相關函式處理
第三步 - 萬事俱備 - 簡單範例
好,接著就做一次簡單的 HTTP 範例,演示方才的各項技巧。這段 JavaScript 會向伺服器要一份裡頭有「I'm a test.」字樣的 HTML 文件(test.html
),而後以 alert()
將文件內容列出。
<script type="text/javascript" language="javascript">
var http_request = false;
function makeRequest(url) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
</script>
<span
style="cursor: pointer; text-decoration: underline"
onclick="makeRequest('test.html')">
Make a request
</span>
在此範例中:
- 首先使用者按下「Make a request」
- 這麼一來就會呼叫
makeRequest()
函式,亦傳入參數值 test.html
(也就是那份 HTML 檔的名稱,放在同目錄下)
- 接著發出 request,而後會將主導權交給
onreadystatechange
指定的 alertContents()
函式
alertContents()
檢查回應是否正常,而後以 alert()
將 test.html
的內容列出
你可以由此測試本例,也可以參考測試檔案。
第四步 – 「X 檔案」(又稱為「處理 XML 回應值」)
前面的例子中,在收到 HTTP 傳回值後我們以物件的 reponseText
屬性使用 test.html
檔案的內容,接著來試試 responseXML
屬性的方法。
首先,我們得做個格式正確的 XML 文件,以便稍後取用。此檔名喚 test.xml
,內容如下:
<?xml version="1.0" ?>
<root>
I'm a test.
</root>
在程式中,我們叫用檔案的地方只須略事修改如下:
...
onclick="makeRequest('test.xml')">
...
接著在 alertContents()
中,我們必須將 alert(http_request.responseText);
改成這樣:
var xmldoc = http_request.responseXML;
var root_node = xmldoc.getElementsByTagName('root').item(0);
alert(root_node.firstChild.data);
這樣一來我們便可取得 responseXML
所傳回的 XMLDocument
物件,而後以 DOM 相關的方法取用 XML 文件內容。你可以參考 test.xml
的原始碼 以及修改過後的測試程式。
其他與 DOM 相關的方法,請參考 Mozilla DOM 文件。
[[Category:{{{4}}}|AJAX 上手篇]]
[[Category:{{{5}}}|AJAX 上手篇]]
[[Category:{{{6}}}|AJAX 上手篇]]