PHP AJAX

1.注意 :  AJAX往后端传值得时候  必须是固定格式的字符串 ;这是根据地址 传输字段的格式

调用AJAX 方法

		ajax({
					async:false,
					data:{ua:zh,ia:mm,ta:radi},
					type:"POST",
					dataType:"JSON",
					url:"logincl.php",
				
					success: function(da)
					{ 
					alert(da[0][0]);
					alert(da);
				
					}
					
				});

  

JS原生的AJAX 部分

/* 封装ajax函数
 * @param {string}opt.type http连接的方式,包括POST和GET两种方式
 * @param {string}opt.dataType 传输方式,包括JSON和TEXT两种方式
 * @param {string}opt.url 发送请求的url
 * @param {boolean}opt.async 是否为异步请求,true为异步的,false为同步的
 * @param {object}opt.data 发送的参数,格式为对象类型
 * @param {function}opt.success ajax发送并接收成功调用的回调函数
 */
function ajax(opt) {

	opt = opt || {};

	opt.type = (opt.type || 'POST').toUpperCase(); //注意不能写成  opt.type.toUpperCase() || 'POST';   这样如果传值为undefined的时候转化为大写会报错!
	opt.url = opt.url || '';
	opt.dataType = (opt.dataType || 'TEXT').toUpperCase();
	opt.async = opt.async === false ? false : true;
	opt.data = opt.data || null; //注意这里null
	opt.success = opt.success || function() {};

	var xmlHttp = null;
	if(XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	} else {
		xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
	}
	var params = []; //把原来的JSON数组 先放在  array 数组里面  再拼接成 指定格式的字符串【这里 JSON 需要 for--in 遍历 】
	for(var key in opt.data) {
		params.push(key + '=' + opt.data[key]);
	}
	var postData = params.join('&');

	if(opt.type == 'POST') {

		xmlHttp.open(opt.type, opt.url, opt.async);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
		xmlHttp.send(postData);
	} else if(opt.type == 'GET') {

		xmlHttp.open(opt.type, opt.url + '?' + postData, opt.async);
		xmlHttp.send(null);
	}

	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
			if(opt.dataType == 'JSON') {

				opt.success(JSON.parse(xmlHttp.responseText));
			} else {

				opt.success(xmlHttp.responseText);

			}

		}
	}

}

  

  

  

 

  

  

 

posted @ 2017-02-17 12:02  get("新技能")  阅读(310)  评论(0编辑  收藏  举报