为了账号安全,请及时绑定邮箱和手机立即绑定

第80行的参数为什么不是xhr.responseText?

第80行的参数为什么不是xhr.responseText?

oldwan 2016-06-07 16:32:14
/**  * Ajax函数  * @param {Type} type get por post  * @param {Type} url 请求地址  * @param {Type} data 数据  * @param {Type} success 请求成功执行函数  * @param {Type} faild 请求失败执行函数  */ function Ajax(type, url, data, success, failed) { // 1.创建xhr对象 var xhr = null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { //兼容ie6- xhr = new ActiveXObject('Microsoft.XMLHTTP'); } //type类型不分大小写  var type=type.toUpperCase(); //定义随机数后面用来清除缓存 var random = Math.random(); //遍历data用&链接 if (typeof data == 'object') { var str = ''; for (var key in data) { str += key + '=' + data[key] + '&'; } data = str.replace(/&$/, ''); }   //2.拼接传入的json,创建open请求,链接服务器 if (type == 'GET') { if (data) { xhr.open('GET', url + '?' + data, true); } else { xhr.open('GET', url + '?t=' + random, true); } //3.发送请求  xhr.send(); } else if (type == 'POST') { xhr.open('POST', url, true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send(data); } // 4.处理返回数据 xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { success(xhr.responseText); } else { if (failed) { failed(xhr.status); } } } }; } //课程列表 /**  *   * @param {Type} pag 当前页码  * @param {Type} psi 数据个数  * @param {Type} type 筛选类型  */ var pageNumber = 1; var psizeNumber = 20; var typeNumber = 10; function course() { //定义请求数据data var senddata = { "pageNo": pageNumber,//当前页码 "psize": psizeNumber,//每页返回数据个数 "type": typeNumber//筛选类型:10产品设计,20编程语言 } Ajax("get", "http://study.163.com/webDev/couresByCategory.htm", senddata, function (str) {//这里str就是responseText //成功时,创建html var arr = JSON.parse(str);//转换成js var contentlist = $('courselist');//选中节点课程列表的盒子 contentlist.innerHTML = ""; for (var i = 0; i < arr.list.length; i++) { //创建节点div小盒子 style="float:left;width:980px;" var coursebox = document.createElement('div'); coursebox.className = "course";
查看完整描述

1 回答

?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

    // 4.处理返回数据
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                success(xhr.responseText);    // 看到了没?这里传的就是xhr.responseText!!!
            } else {
                if (failed) {
                    failed(xhr.status);
                }
            }
        }
    };

看到了没?你的代码里传的就是xhr.responseText!!!

查看完整回答
1 反对 回复 2016-06-07
  • 1 回答
  • 0 关注
  • 2377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信