ajax内容总结

01创建XMLHttpRequest对象

不同浏览器创建方式不同

可以提取为方法供调用

function createXMLHttpRequest(){

if(window.ActiveXObject){//IE

xhr = new ActiveXObject("Microsoft.XMLHTTP");

}else{ //其他浏览器

xhr =  new XMLHttpRequest();

}

}

02建立到服务器的连接

xmlHttp.open("GET",“exmp1.jsp",true);

xmlHttp.open(“POST,“exmp1.jsp");

xmlHttp.open("GET", "examp1.jsp?"+new Date().getTime(),true);

 

使用 XMLHttpRequest 对象的 open() 方法来建立请求。参数如下:

request-type:发送请求的类型。典型的值是 GET 或 POST。

url:要连接的 URL

asynch:如果希望使用异步连接则为 true,否则为 false。默认为 true。

username:如果需要身份验证,则可以在此指定用户名。

password:如果需要身份验证,则可以在此指定口令。

 

通常使用其中的前三个参数或前两个参数即可。

03指定回调函数

Ajax响应回来后自动调用函数

不同的Ajax请求基本步骤相同,差别和难易主要在回调函数

function process(){

if(xhr.readyState == 4){//200  404  500

if(xhr.status == 200){

//得到返回的结果

var result = xhr.responseText;

//写到指定位置

document.getElementById("namemsg").innerHTML=result;

}else{

          alert("Ajax请求错误");

}}}

04 HTTP就绪状态

表示请求的状态或情形。在Ajax应用程序中需要了解五种就绪状态,但通常只使用状态4:

0:请求没有发出(在调用 open() 之前)

1:请求已经建立但还没有发出(调用 send() 之前)

2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)

3:请求已经处理,响应中有部分数据可用,但是服务器还没有完成响应

4:响应已完成,可以访问服务器响应并使用它

状态码status

200  404

返回结果数据  responseText   responseXML

05发送请求

xmlHttp.send(null);  //get

xmlHttp.send(queryString);  //post

注意事项

如果是get请求,参数已经附加在url中,采用send(null)即可。如果是post请求,需要通过send()来传递参数。

如果是post请求,要在send之前添加如下语句指定http header:

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

posted @ 2021-01-15 14:36  巧克力曲奇  阅读(89)  评论(0编辑  收藏  举报