Home

2008年9月22日 星期一

[AJax] XMLHttpRequest 重要的屬性

From: Polin Wei

  XMLHttpRequest 重要的屬性: onreadystatechange,readyState,status, statusText ,responseXML ,responseText。

  • onreadystatechange
    參考至callback函式,readyState每次改變時,都會呼叫onreadystatechange所參考的函式。
  • responseText
    伺服器傳來的請求回應文字,會設定給這個屬性。
  • responseXML
    伺服器傳來的請求回應如果是XML,會成為DOM設定給這個屬性。
  • statusText
    返回當前 XMLHttpRequest 請求的回應行狀態,回傳值: string status
  • readyState
    回應 XMLHttpRequest 的當前狀態,會有0到4的數值,共有5個狀態

0 = UNINITIALIZED; opennot yet called
(未初始化) Object已建立,但是尚未初始化(尚未使用open方法)

1 = Open; send for request not yet called
(初始化) Object已建立,尚未使用send方法

2 = Sent; send called, headers and status are available
(送出數據) send方法已使用,但是當前的狀態及http檔頭頭未知

3 = Receiving; downloading response, responseText only partially set
(數據傳送中) 已接收部分數據,因為回應及http檔頭不全,這時通過 responseBody 和responseText 獲取部分數據會出現錯誤

4 = COMPLETED; finished downloading
(完成)數據接數完畢,此時可以通過 responseBody 和 responseText 獲取完整的回應數據

status: 回應 XMLHttpRequest 請求的 http 狀態碼 ,回傳值:integer status code

100:Continue
101:Switching protocols
200:OK
201:Created
202:Accepted
203:Non-Authoritative Information
204:No Content
205:Reset Content
206:Partial Content
300:Multiple Choices
301:Moved Permanently
302:Found
303:See Other
304:Not Modified
305:Use Proxy
307:Temporary Redirect
400:Bad Request
401:Unauthorized
402:Payment Required
403:Forbidden
404:Not Found
405:Method Not Allowed
406:Not Acceptable
407:Proxy Authentication Required
408:Request Timeout
409:Conflict
410:Gone
411:Length Required
412:Precondition Failed
413:Request Entity Too Large
414:Request-URI Too Long
415:Unsupported Media Type
416:Requested Range Not Suitable
417:Expectation Failed
500:Internal Server Error
501:Not Implemented
502:Bad Gateway
503:Service Unavailable
504:Gateway Timeout
505:HTTP Version Not Supported

PS:此屬性 status 是唯讀,返回當前 XMLHttpRequest 請求的 http 狀態碼 ,此屬性僅當數據送出並完整接收完畢後才可以獲取。

程式範例如下:


if(myXmlHttp.readyState == 4) {
if(myXmlHttp.status == 200) {
//以純文字方式取回伺服器回傳資料
txtresp = myXmlHttp.responseText;
//以 XML 方式取回伺服器回傳資料
xmlresp = myXmlHttp.responseXML;
if (txtresp) {
alert(txtresp);
document.getElementById("myTxtResp").innerHTML = txtresp;
}
}
}



[AJax] Create The Object : XMLHttpRequest

From: Polin Wei

  XMLHttpRequest 的物件在 IE7以前版本 及 FireFox 各有不同,幸好在 IE7 時也支援 XMLHttpRequest Object:

  • Create XMLHttpRequest Object
  因為建立 XMLHttpRequest Object 在 IE7 以前版本及在 FireFox 是不一樣的,為了能相容,可以用下列方法來建立:

if(window.XMLHttpRequest) {
myXmlHttp = new XMLHttpRequest();
} else if(window.ActiveXObject) {
myXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}


在建立XMLHttpRequest之後,則可以使用以下的幾種方法:
  • void open(string method, string url, boolean asynch, string username, string password)
    開啟對伺服端的連結;method為請求方式(GET、POST);url為伺服端位址,如果是GET的話,可加上請求參數與值;asynch為非同步設定,預設是true,表示使用非同步方式。
  • void send(content)
    對伺服端傳送請求,content這以放XML、輸入串流、字串、JSON格式的內容,放進去會放在POST本體中發送。
  • void setRequestHeader(string header, string value)
    為HTTP請求設定一個給定的 header 設定值。
  • void abort()
    用來中斷請求。
  • string getAllResponseHeaders()
    傳回一個字串,其中包含HTTP請求的所有回應標頭。
  • string getResponseHeader(string header)
    傳回一個字串,其中包含指定的回應標頭值。

2008年9月10日 星期三

[AdSense] Feed Burner 部落格中 AdSense 的廣告

From: Polin Wei

  在[AdSense] AdSense 輕鬆的 Feed Burner 部落格中有介紹如何利用 Google AdSense 來 Burner你的部落格,可是卻一直沒有看到它的廣告.今天有試了一下,才發現它是要用類似 Google 閱讀器的 RSS 閱讀器才可以看得到.就像下圖:

我與小崴崴的工作日記: RSS: http://feedproxy.google.com/weipolin




我與小崴崴的電影日記:RSS: http://feedproxy.google.com/PolinJamie



我與小崴崴的生活日誌:RSS: http://feedproxy.google.com/jamieliao




這樣一來,你的廣告就有很多可以輪撥了,很不錯吧.大家一起來加入

我與小崴崴的工作日記: RSS: http://feedproxy.google.com/weipolin

我與小崴崴的電影日記:RSS: http://feedproxy.google.com/PolinJamie

我與小崴崴的生活日誌:RSS: http://feedproxy.google.com/jamieliao

捧個人場吧...

2008年9月3日 星期三

Google AdSense 在臺灣開通西聯匯款

真是個好消息, Google AdSense 終於在台灣有銀行可以匯款了。以下是 Google AdSense 發的信件內容,可惜的是,我沒還有足夠的廣告奬金可以匯啦!!
--------- Google AdSense 的信件原文-----------
親愛的發佈商:
我們有一個好消息要通知您 ─ 期待已久的西聯匯款 (Western Union Quick Cash) 已經正式向台灣 AdSense 發佈商開放!
使用西聯匯款有下列好處:

-款項在付款日隔天即可提領-提款不用任何手續費-任何一家提供西聯匯款服務的銀行均可提款
在登錄 AdSense 帳戶申請使用西聯匯款之前,請注意以下幾點:

-西聯匯款僅適用於個人帳戶,公司帳戶恕無法使用-提取西聯匯款時,必須攜帶身份證或護照,您的 AdSense 帳戶名字必須與您的身份證或護照名字相同。

另外,請注意,您的 AdSense 帳戶名字必須為拼音名字,因爲我們使用西聯匯款服務時,只能根據您的拼音名字匯款。

若您的 AdSense 帳戶名字為中文名字,請務必變更為對應的拼音名字。只要您的身份證或護照名字,按照臺灣通用拼音規則,與您的 AdSense帳戶名字一致,即可提款。

若您需要變更 AdSense 帳戶收款人姓名,請造訪https://www.google.com/adsense/support/bin/request.py?contact=change_payee
-您的款項必須在付款後 35 天内提出,否則將會過期,所有過期款項將返回您的 AdSense帳戶。我們會自動在您的帳戶中設定付款保留,如需解除此保留,請聯絡 Google AdSense 小組。
- 我們會透過美金匯款,不過,根據當地代理西聯業務的銀行政策,您可能以台幣提款。
若要開始使用西聯匯款,請參考我們的部落格文章http://zht-adsense.blogspot.com/2008/08/blog-post_15.html 或 AdSense 支援中心文章https://www.google.com/adsense/support/bin/answer.py?answer=62330

此外,我們在 AdSense 部落格發佈了一系列有關西聯匯款的文章,您可以造訪 http://zht-adsense.blogspot.com/,或造訪 AdSense 支援中心https://www.google.com/adsense/support/bin/topic.py?topic=10830 閲讀更多支援文章。

同時,歡迎您前往我們的 AdSense 支援論壇 http://www.google.com/adsensegroups-zht與更多人分享您使用西聯匯款的心得和體驗。

Google AdSense 中文小組敬上
Google Inc.1600 Amphitheatre ParkwayMountain View, CA 94043USA