zoukankan      html  css  js  c++  java
  • 后台接收int[] 类型的值

    1.前台使用ajax传递数组类型的值,后台无法接收

    前台 js代码:

     1 $(document).ready(function(){
     2     $("#bu").click(function(){
     3         var ids = new Array(2,3,4);
     4         $.ajax({
     5             url : "${pageContext.request.contextPath}/order/test",
     6             data : {
     7                 "ids" :ids
     8             },
     9             dataType : "json",
    10             success : function(data) {
    11                 alert(额);
    12             },
    13             error : function() {
    14                 alert("预览失败");
    15             }
    16         });
    17     });
    18 });

    GET请求参数:

    后台 java代码:

    1 @RequestMapping("/test")
    2 public void test(int[] ids,HttpServletRequest request){
    3     String[] id = request.getParameterValues("ids");
    4 }

    第一次显示:

    id

    ids和id 都没有值;

    解决方法:

    1.在ajax中加入traditional: true

    代码如下:

     1 $(document).ready(function(){
     2     $("#bu").click(function(){
     3         var ids = new Array(2,3,4);
     4         $.ajax({
     5             url : "${pageContext.request.contextPath}/order/test",
     6             traditional: true,
     7             data : {
     8                 "ids" :ids
     9             },
    10             dataType : "json",
    11             success : function(data) {
    12                 alert(额);
    13             },
    14             error : function() {
    15                 alert("预览失败");
    16             }
    17         });
    18     });
    19 });

    GET请求参数为:

    后台

    后台两种方法都能够接收到参数:

    2.把array类型的ids转为字符串:

     1 $(document).ready(function(){
     2     $("#bu").click(function(){
     3         var ids = new Array(2,3,4);
     4         $.ajax({
     5             url : "${pageContext.request.contextPath}/order/test",
     6             data : {
     7                 "ids" :ids+""
     8             },
     9             dataType : "json",
    10             success : function(data) {
    11                 alert(额);
    12             },
    13             error : function() {
    14                 alert("预览失败");
    15             }
    16         });
    17     });
    18 });

    GET请求参数:

    后台接收到的参数:

    能够接收到,但是能转为int数组,String数组变成一个。

    解释相关:飞机https://my.oschina.net/i33/blog/119506

  • 相关阅读:
    获取路径的方式
    读取XML文件(XmlNode和XmlElement区别)
    jQuery 选择器大全
    JS中Null与Undefined的区别
    浅谈JS中的!=、== 、!==、===的用法和区别
    sql面试 查找每个班级的前5名学生(取分类数据的前几条数据)
    C#动态方法调用
    C# 匿名对象(匿名类型)、var、动态类型 dynamic——实用之:过滤类属性、字段实用dynamic
    前言2
    2019-1-17 前言 C#高级编程(第11版)
  • 原文地址:https://www.cnblogs.com/bigmax/p/6875305.html
Copyright © 2011-2022 走看看