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方法向服务器发送数据