js中ajax的用法

来源:互联网 发布:淘宝联盟佣金结算 编辑:程序博客网 时间:2024/05/18 18:46

    本篇文章主要介绍了js中ajax的用法总结。
    
    Ajax是指在不重新加载整个网页的情况下,与服务器在后台进行少量数据交换,动态的对网页的某部分进行更新的技术。

1.使用XMLHttpRequest 实现ajax效果

var xmr;//定义变量,用来创建xmlhttprequest对象try {    xmr = new XMLHttpRequest();// //非IE浏览器及IE7(7.0及以上版本),用XMLHttpRequest对象创建} catch(e) {    try {        xmr = new ActiveXObject("msxml2.xmlhttp");//IE(6.0及以下版本)浏览器用ActiveXObject对象创建,如果用户浏览器禁用了ActiveX,可能会失败    } catch(e) {        alert("your browser doesn't support ajax!");        return false;    }}xmr.onreadystatechange = function() {//每次xmr状态改变都会触发onreadystatechange    if (xmr.readyState == 4) {//响应已完成后处理(注1)        if ((xmr.status > 200 && xmr.status < 300) || xmr.status == 304) {//200表示响应成功,304表示请求内容未改变            alert(xmr.responseText);        } else {            var logoffStatus = JSON.parse(xmr.responseText).status;//把json字符串返回值转化为字符串对象            if (!logoffStatus) {        //根据返回的值进行处理            }        };    };};xmr.open("post", "/ResourceRequest/getRequestPage", true);//参数依次规定请求的类型、URL 以及是否异步处理请求。xmr.overrideMimeType("text/html");//针对某些特定版本的mozillar浏览器的BUG进行修正(注2)xmr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");//对http请求的header信息进行编辑,如本行对Content-Type进行编辑(注3).xmr.send("apply_type=1" + "&" + "resource_name=ADM_BIZCARD");//发送请求,并把参数传到后台



注:

1.XMLHTTP.readyState的五种状态:

    0:请求未初始化(还没有调用 open())。
    1:请求已经建立,但是还没有发送(还没有调用 send())。
    2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
    3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
    4:响应已完成;您可以获取并使用服务器的响应了。

2.如果来自服务器的响应没有 XML mime-type 头部,则一些版本的 Mozilla 浏览器不能正常运行。对于这种情况,httpRequest.overrideMimeType('text/xml'); 语句将覆盖发送给服务器的头部,强制 text/xml 作为 mime-type。

3.规定在发送到服务器之前应该如何对表单数据进行编码:

值描述application/x-www-form-urlencoded在发送前编码所有字符(默认)multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain空格转换为 "+" 加号,但不对特殊字符编码。
0 0
原创粉丝点击