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); } } } }