jquery Ajax 如何传递数组类型参数

本文介绍如何在前端使用jQuery AJAX向后端传递数组类型的参数,并展示了两种方法:一是通过设置traditional参数来避免深度序列化,二是直接指定参数类型。同时提供了前端JavaScript和后端Java的具体实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次做项目的时候碰见一个向后台传递数组参数的问题

 

稍微研究了一下:

 

假设需要向后台传递的参数为:

var userid = [1,2,3];

var username=["a","b","c"];

var school="南山幼儿园";

 

有两种比较简单的方法:

1.加入traditional防止深度序列化

js代码:

$.ajax({
    url:"*****",
    data:{
        "userid":userid,
        "username":username,
        "school":school
    },
    dataType:"json",
    type:"post",
    traditional:true,//防止深度序列化
    cache:false,
    async:false,
    success:function(){
        ....
    }
});

 

java代码:

@requesMapping(value="/****", method=RequestMethod.POST)
@responseBody
public String testForAjax(@RequestParam(value="userid") Integer[] userid, @RequestParam(value="username") String[] username, String school){
  
      .....

}

 

2.指定参数类型

 

js代码:

$.ajax({
    url:"*****",
    data:{
        "userid":userid,
        "username":username,
        "school":school
    },
    dataType:"json",
    type:"post",
    cache:false,
    async:false,
    success:function(){
        ....
    }
});

 

 

java代码:

@requesMapping(value="/****", method=RequestMethod.POST)
@responseBody
public String testForAjax(@RequestParam(value="userid[]") Integer[] userid, @RequestParam(value="username[]") String[] username, String school){

    .....

}

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值