自己封装的AJAX (带JSON)

最简单的封装的AJAX:

function myajax(url,onsuccess,fail){
    //确定是否支持xhr
    var xhr = new XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject('Microsoft.XMLHTTP');
    //准备发送post异步请求
    xhr.open('POST', url, true);
    //监听并获得返回结果
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) { //4 表示执行完
            if (xhr.status == 200) { //200 表示执行成功
                onsuccess(xhr.responseText);
            } else {
                if (fail) { //有传fail才传出失败信息
                    fail(xhr.status);
                }
            }
        }
    }
    //发送请求
    xhr.send();
}
myajax.js

可以把json字符串转JavaScript对象的AJAX

function myajaxjson(url, onsuccess, fail) {
    //确定是否支持xhr
    var xhr = new XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject('Microsoft.XMLHTTP');
    //准备发送post异步请求
    xhr.open('POST', url, true);
    //监听并获得返回结果
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) { //4 表示执行完
            if (xhr.status == 200) { //200 表示执行成功
                if (xhr.getResponseHeader('Content-Type').indexOf('application/json') >= 0) { //响应头中'Content-Type是application/json,则把json字符串转js对象
                    var jsObj = eval('(' + xhr.responseText + ')');
                    onsuccess(jsObj);
                } else {
                    onsuccess(xhr.responseText);
                }
            } else {
                if (fail) { //有传fail才传出失败信息
                    fail(xhr.status);
                }
            }
        }
    }
    //发送请求
    xhr.send();
}
myajaxjson.js

 

posted on 2015-09-12 17:24 AdolphYang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/adolphyang/p/4803278.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值