/* 封裝ajax函數 * @param {string}opt.method http鏈接的方式,包括POST和GET兩種方式 * @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.method = opt.method.toUpperCase() || 'POST'; opt.url = opt.url || ''; opt.async = opt.async || true; opt.data = opt.data || null; opt.success = opt.success || function () {}; var xmlHttp = null; if (XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } else { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); }var params = []; for (var key in opt.data){ params.push(key + '=' + opt.data[key]); } var postData = params.join('&'); if (opt.method.toUpperCase() === 'POST') { xmlHttp.open(opt.method, opt.url, opt.async); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8'); xmlHttp.send(postData); } else if (opt.method.toUpperCase() === 'GET') { xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async); xmlHttp.send(null); } xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { opt.success(xmlHttp.responseText); } }; } ajax({ method: 'POST', url: 'test.php', data: {'mobile':value}, success: function (response) { console.log(response); } });