前端js
function dlt1(obj,obj1,obj2,obj3,url){//要关闭的弹框 数据id ufid 删除接口url
var token1 ='basic '+ window.sessionStorage.token;
console.log(obj2);
var obj1 = "#"+obj1;
var obj2 = "#"+obj2;
var obj3 = "#"+obj3;
var ufId = new Array();
ufId[]=parseInt($(obj2).html());
ufId[]=parseInt($(obj3).html());
console.log(ufId);
var url1 =browerUrl + url + '/' + $(obj1).html() ;
// console.log(obj1,obj2);
$.ajax({
type:"post",
async:true,
url:url1,
data:{'ufId':ufId},
beforeSend: function(request) {
request.setRequestHeader("Authorization", token1);
},
success:function(dat){
if(dat.code==){
tanClose(obj);
messageShow("删除成功");
setTimeout(reload(),);
}else if(dat.code==){
backHome();
}
else{
messageShow(dat.msg);
}
},
error:function(){
messageShow("服务器错误");
}
})
}
Network中显示:
以看到,参数的名字为ufId[]而不是我们所定义的ufId,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。
解决办法:
设置jQuery.ajax的tradional属性
$.ajax({
type:"post",
async:true,
url:url1,
traditional: true,//这里设置为true
data:{'ufId':ufId},
这样就大功告成了嘛!!!!