XMLHttpRequest的get和post方式提交和doGet(), doPost()的关系

代码:

functionsubmitAction()

{

varxmlHttpRequest=createXMLHttpRequest();

xmlHttp.open("GET",url,true);//指定GET方式提交

xmlHttp.onreadystatechange=handleStateChange;//回调函数

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send(params);//传入参数

}

当open方法的第一个参数是GET或者POST的时候,都是调对应的doGet()和doPost()方法吗?答案是调用什么方法不是由open()方法的第一个参数完全决定的,还与send()方法里面的参数有关。

一、当open()方法里指定的是GET,并且

1、send()方法的参数是""或者null,调用了Servlet中的doGet()方法

2、send()方法的参数是地址重写的方式,或者就是一个字符串,都调用doPost()方法

二、当open()方法里指定的是POST,服务器均会调用doPost()方法。

相关推荐