封装代码:
function ajax({url,type,data,dataType}){
return new Promise(function(open,err){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
var res=xhr.responseText;
if(dataType==="json")
res=JSON.parse(res)
open(res);
}
}
if(type=="get"&&data!=undefined){
url+="?"+data;
}
xhr.open(type,url,true);
if(type==="post")
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
if(type=="post"&&data!==undefined)
xhr.send(data);
else
xhr.send(null);
})
}
另一种封装
function ajax_method(url,data,method,success) {
var ajax = new XMLHttpRequest();
if (method=='get') {
if (data) {
url+='?';
url+=data;
}else{
}
ajax.open(method,url);
ajax.send();
}else{
ajax.open(method,url);
ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
if (data) {
ajax.send(data);
}else{
ajax.send();
}
}
ajax.onreadystatechange = function () {
if (ajax.readyState==4&&ajax.status==200) {
success(ajax.responseText);
}
}
}
ajax_method(
'/index/xxx/xxx',
'unid=' + unid + '&' + 'unitname='+unitname,
'post',
function(res){
var res = JSON.parse(res)
var data = res.data;
var productSelect = document.getElementById('productSelect');
var html = '<option value="">请选择</option>';
for(var i = 0 ; i < data.length ; i++){
console.log(i);
html +='<option value="'+data[i].productid+'" productid="'+data[i].productid+'" batch_name="'+data[i].productname+'">'+data[i].productname+'</option>';
}
productSelect.innerHTML= html;
}
);