ajax向后台传数组

来源:互联网 发布:易语言单机游戏源码 编辑:程序博客网 时间:2024/05/18 01:11

前端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[0]=parseInt($(obj2).html());    ufId[1]=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==1){                tanClose(obj);                messageShow("删除成功");                setTimeout(reload(),3000);            }else if(dat.code==309){                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},

QQ截图20170919101902.png

这样就大功告成了嘛!!!!