HTTP協議請求裡面的, get和post這兩種請求。是最常見了,前面用的都是get請求因為是最簡單的了。GET請求是通過URL的參數傳遞的,傳的是什麼,一幕了然。服務器接它的參數就可以了。不過GET請求有一些限制,最大只能傳2K的內容,所以大的文本,還是要用POST來傳的。如果要是上傳個文件,就必需用POST了,也不能把一個文件寫到URL上啊。
參看前面的代碼,我們知道在ajax中,發送請求是send()方法,它的前題是open()方法。Open
(“POST”,URL,true)這樣發送的就是POST請求了,不過它要不GET請求多一句話
XHR.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);
加上這句話才是POST請求。
更值得一提的是,XML的請求,這也是POST請求的一種。只是發過去的是XML文件,或是在內存裡的XML格式。XML不也是文本嗎?傳個文本過去,服務器端,用什麼語言也就都可以解析了。這種方式的應用很廣泛,如果不用javascript寫,用flash寫一個XML請求也是可以的。
我們用javascipt建立一個函數
function XML() {
var xml = “<user”;
xml = xml + “<name>” + username + “<\/name>”;
xml = xml + “<password>” + password + “<\/password>”;
xml = xml + “<\/user>”;
return xml;}
在我們發送請求的時候,同樣要用POST請求,Open(“POST”,URL,true)。也要加上請求頭XHR.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);
然後就用send(XML());發送出去就可以了。後台能解析XML的方法可多了。