ajax向后台传数组

前端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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值