open方法中的三个参数
GET:用"GET"方式发送数据,只能256KB,在接收页面使用Request.QueryString["..."]获取
///////////////////////////////////////////////////////////////////////////////////////////////////////////
一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。
例如 :
var url = "login.jsp?user=XXX&pwd=XXX";
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。
例如:
xmlHttp.open("POST","login.jsp",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttp.send("user="+username+"&pwd="+password);
需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法。
true为异步传输,false为同步传输,如果设置为同步传输,服务器执行需要10秒,那么就必须等待十秒。如果异步,十秒内可以做其他事情。
application/x-www-form-urlencoded | 窗体数据被编码为名称/值对。这是标准的编码格式。 |
multipart/form-data | 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 |
text/plain | 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。 |