码迷,mamicode.com
首页 > Web开发 > 详细

XMLHttpRequest Ajax传参,回传过程中不允许再次点击

时间:2015-07-01 12:35:12      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

先记录一下关于状态码的问题吧,因为这里面涉及到两个属性readyState和status;

readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。

status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码。

readyState==4  完成响应状态:此时,已经完成了HTTP响应的接收,当status==200   请求成功。例如200状态码,表示请求所希望的响应头或数据体将随此响应返回。

所以当readyState==4&&status==200的时候再处理返回值,其他的情况都做一个弹窗,提示“您的请求正在提交中”,页面的弹层也是覆盖后面的页面,所以提交按钮自然就不能随便点了,当有返回值的时候直接更改弹窗的提示信息就可以了

var getXmlHttpRequest = function () {
    if (window.XMLHttpRequest) {
        //主流浏览器提供了XMLHttpRequest对象
        return new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        //低版本的IE浏览器没有提供XMLHttpRequest对象
        //所以必须使用IE浏览器的特定实现ActiveXObject
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
};
var xhr = getXmlHttpRequest();
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
        //获取成功后执行操作
        //数据在xhr.responseText
    }else{
        //弹出提示正在提交的提示弹层
    }
};
xhr.open("TYPE", "URL", true);
//设置头信息,不然send传输的参数容易失败,后台接收不到参数
xhr.setRequestHeader("Content-Type", ‘application/x-www-form-urlencoded‘);
xhr.send("tkmoney="+$(‘#tkmoney‘).val());



XMLHttpRequest Ajax传参,回传过程中不允许再次点击

标签:

原文地址:http://my.oschina.net/u/2328177/blog/472831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!