XMLHttpRequest.open();第一個參數post,get有什麼不同,什麼時候選什麼,還有其他的,都有什麼區別?
get和post是html中用戶端向伺服器發出請求的兩種方式,也可以稱作是頁面間相互傳遞資料的2種方式(html裡一共有7中,這倆是最常用的)
get是將資料通過url 就是地址欄的最後加上資料 把這個url傳遞給伺服器的方式來實現傳資料的
而post,則是把form中的資料放入html流的頭(head)中傳遞的
擷取他們值的方式也不同
前者是用request.queryString[]來擷取
後者用request.get來擷取
一般情況,少量的不敏感的資料通過get來傳遞,,但url的長度有限是225個字元,所以如果資料多的話就用post來傳遞,,,如果資料更多的話你這裡有是阿賈克斯,那麼可以用xml來傳遞資料,,傳遞和擷取的方式和上面說的一樣的!!
XMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)
open建立一個新的http請求,並指定此請求的方法、URL以及驗證資訊
文法
oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
參數
bstrMethod
http方法,例如:POST、GET、PUT及PROPFIND。大小寫不敏感。
bstrUrl
請求的URL地址,可以為絕對位址也可以為相對位址。
varAsync[可選]
布爾型,指定此請求是否為非同步方式,預設為true。如果為真,當狀態改變時會調用onreadystatechange屬性指定的回呼函數。
bstrUser[可選]
如果伺服器需要驗證,此處指定使用者名稱,如果未指定,當伺服器需要驗證時,會彈出驗證視窗。
bstrPassword[可選]
驗證資訊中的密碼部分,如果使用者名稱為空白,則此值將被忽略。
Example
下面的例子示範從伺服器請求book.xml,並顯示其中的book欄位。
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET","http://localhost/books.xml", false);
xmlhttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id=''bk101'']");
alert(book.xml);
備忘
調用此方法後,可以調用send方法向伺服器發送資料