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

/**
 * 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";


oldwan
浏览 2378回答 1
1回答

qq_青枣工作室_0

    // 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!!!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript