精华内容
下载资源
问答
  • 前台AJAX传数组,后台的java接收(后台接收前端发送的数组类型数据)两种解决方法 第一种方法,前端将数组通过JSON.stringify()方法转换为json格式数据,后台将接收的json数据转换为数组 function search() { var...

    前台AJAX传数组,后台的java接收(后台接收前端发送的数组类型数据)两种解决方法

    第一种方法,前端将数组通过JSON.stringify()方法转换为json格式数据,后台将接收的json数据转换为数组

    function search() {
    			var equiNames = JSON.stringify($("#equiNames").val());
    			var startDate = $('#daterange-btn span').text().substring(0, 10);
    			var endDate = $('#daterange-btn span').text().substring(13);
    			$.ajax({
    				url : "dataAcquisition/report",
    				type : "post",
    				dataType : "json",
    				data : {
    					"equiNames" : equiNames,
    					"startDate" : startDate,
    					"endDate" : endDate
    				},
    				success : function(result) {
    					……
    					}
    				}
    			});
    		}
    
    @RequestMapping("/report")
    	public void report(String equiNames, String startDate, String endDate, HttpServletRequest request,
    			HttpServletResponse response) throws ExecutionException, InterruptedException, IOException, ParseException {
    		//将接收的json数据转换为数组
    		List<String> equiNameList = new Gson().fromJson(equiNames, new TypeToken<List<String>>() {
    		}.getType());
    		List<DataAcquisitionVo> resultList = dataAcquisitionService.report(equiNameList, startDate, endDate);
    		response.setContentType("application/json; charset=UTF-8");
    		response.getWriter().write(new Gson().toJson(resultList));
    	}
    

    第二种方法,前端通过设置traditional属性为true直接传递数组 */,后台通过对象接收

    function search() {
    			var equiNames = JSON.stringify($("#equiNames").val());
    			var startDate = $('#daterange-btn span').text().substring(0, 10);
    			var endDate = $('#daterange-btn span').text().substring(13);
    			$.ajax({
    				url : "dataAcquisition/report",
    				type : "post",
    				dataType : "json",
                    traditional : true,//用传统方式序列化数据
    				data : {
    					"equiNames" : equiNames,
    					"startDate" : startDate,
    					"endDate" : endDate
    				},
    				success : function(result) {
    					……
    					}
    				}
    			});
    		}
    

    对象

    @RequestMapping("/report")
    	public void report(ReportParaVo rp, HttpServletRequest request, HttpServletResponse response)
    			throws ExecutionException, InterruptedException, IOException, ParseException {
    		
    		List<DataAcquisitionVo> resultList = dataAcquisitionService.report(rp);
    		response.setContentType("application/json; charset=UTF-8");
    		response.getWriter().write(new Gson().toJson(resultList));
    	}
    
    import java.util.List;
    
    public class ReportParaVo {
    	private List<String> equiNames;
    	private String startDate;
    	private String endDate;
    
    	public List<String> getEquiNames() {
    		return equiNames;
    	}
    
    	public void setEquiNames(List<String> equiNames) {
    		this.equiNames = equiNames;
    	}
    
    	public String getStartDate() {
    		return startDate;
    	}
    
    	public void setStartDate(String startDate) {
    		this.startDate = startDate;
    	}
    
    	public String getEndDate() {
    		return endDate;
    	}
    
    	public void setEndDate(String endDate) {
    		this.endDate = endDate;
    	}
    
    }
    

    第二种方法效果如图所示

    展开全文
  • 通过ajax传数组参数到后台

    千次阅读 2019-04-03 10:39:32
    在使用ajax向后台传值的时候,有的时候一个字段需要多个值,需要使用到数组 var params = [1,2,3] $.ajax({ async:false, dataType:"json", traditional :true, //阻止深度序列化 type:"POST", data:{ ...

     在使用ajax向后台传值的时候,有的时候一个字段需要传多个值,需要使用到数组

    var params = [1,2,3]
    $.ajax({
        async:false,
        dataType:"json",
        traditional :true,    //阻止深度序列化
        type:"POST",
        data:{
            "ids":params    //"ids"对应后台参数名
        },
        url:"/xxx/xxx",
        success:function(res){
            //TO DO...
        }
    });
    
    

    默认情况下,ajax的参数traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架,但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化。例子:

    当需要传的参数是数组 {params:[p1,p2,p3]} 时,

    如果将traditional设置成true,则提交时会是"params=p1&params=p2&params=p3"

    如果是false的话,则提交时会是"params[]=p1&params[]=p2value2&params[]=p3"

    在java spring后台就可以拿到数组并操作了。

    /**
         * 批量操作
         * @param ids
         * @return
         */
        @PostMapping("operation")
        public Result operation(@RequestParam String[] ids){
            for(String id:ids){
                System.out.print(id);
            }
        }

     

    展开全文
  • ajax传数组,后端接收数组

    千次阅读 2020-03-01 14:27:14
    //发送ajax数组发送给handler $.ajax({ url:"admin/batch/remove.json", //服务器接收请求的URL地址 type:"post", //设置请求方式post contentType:"application/json;charset=UTF-8", /...

    ajax内容

    使用JSON.stringify()将数组转换为JSON字符串

    			//发送ajax将数组发送给handler
    			$.ajax({
    				url:"admin/batch/remove.json",	//服务器接收请求的URL地址
    				type:"post",	//设置请求方式post
    				contentType:"application/json;charset=UTF-8",	//设置请求体内容为json数据
    				data:JSON.stringify(adminIdArray),	//请求体的数据
    				dataType:"json",	//服务器端返回的数据当做json来解析
    				success:function(response){	//服务器处理成功后执行的函数,response名称随意写,代表服务器返回的参数
    					alert(response);
    				},	
    				error:function(response){	//服务器处理失败后执行的函数,response名称随意写,代表服务器返回的参数
    					alert(response);
    				}
    			})
    

    后端

    传回去JSON数据用@ResponseBody,传进来JSON数据,用@RequestBody,用List接收ajax传进来的数组,

    	//删除
    	//将返回值作为响应体返回,不经过视图解析器
    	@ResponseBody
    	@RequestMapping("admin/batch/remove")
    	public ResultEntity<String> batchRemove(@RequestBody List<Integer> adminList) {
    		for (Integer integer : adminList) {
    			System.out.println(integer);
    		}
    		return null;		
    	}
    

    成功获取到结果
    在这里插入图片描述

    展开全文
  • ajax传数组以及object

    千次阅读 2018-12-07 19:15:11
    ajax 传数组: var data=new Array(); data.push({"username":$('#username').val(),}); data.push({"password":$('#password').val(),}); data.push({"phone":$('#tel')....

    ajax 传数组:

     var data=new Array();
    		data.push({"username":$('#username').val(),});
    		data.push({"password":$('#password').val(),});
    		data.push({"phone":$('#tel').val(),});
    		data.push({"birthday":$('#birthday').val(),});  
    		
    	$.ajax({
    		type:'post',
    		dataType:'json',
    		contentType:"application/json",
    		data:JSON.stringify(data),
    		url:'LoginServlet',
    		success:function(result,status,xhr){
    			debugger
    		},
    		});
    	

    ajax传对象:

    var data=new Object();
    		data.username=$('#username').val();
    		data.password=$('#password').val();
    		data.phone=$('#tel').val();
    		data.birthday=$('#birthday').val(); 
    	$.ajax({
    		type:'post',
    		dataType:'json',
    		data:data,
    		url:'LoginServlet',
    		success:function(result,status,xhr){
    			debugger
    		},
    		});

     

    展开全文
  • 前台ajax传数组,后台java接收

    千次阅读 2019-05-16 21:39:00
    前台ajax传数组,后台java接收 后端 //添加 @RequestMapping(value = "checkChoise") @ResponseBody ResultJson checkChoise(@RequestBody List<String> arr) { ...
  • ajax传数组,springboot接收数组

    万次阅读 2018-09-03 14:52:39
    前台传数组: var ids=[1,2,3,4,5,6] $.ajax({ url:"http://localhost:8080/shanchu", type:"post", dateType:'json', data:{ ids:ids }, success:function(res){ var objs=ev...
  • 画圈部分是数组, 后台接收为null, 看一下页面传参,发现传数组的时候会在数组后自动加[ ] 加上traditional: true, 再来看一下参数
  • 我之前写过一个关于ajax的详解,那个是标准的ajax,今天介绍的是怎么用ajax传递数组这样的数据类型呢?很多的时候我们需要给后端的数据不是几个单独的数据,一般见到的代码的是这样的: data: { id : id, name : ...
  • 关于ajax传数组到后台,后台springmvc 接受数组参数 特意整理了一下】     var ids= new Array();  var checkId = new Array();//定义一个数组用来接收参数  $("input:checked").each(function...
  • 主要为大家详细介绍了jQuery.ajax向后台传递数组问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 在一次项目中需要使用ajax传一个数据到后台,测试时发现后台一直都获取不到数组。 然后查资料发现将traditional指定为true就好啦! 接收方式为: 由于默认为false,所以这里需要指定为true。
  • 来自...1、前台jsp中数组变量:var checkedData = [];//前台变量12、在ajax中设置该属性:traditional: true,//传数组进后台需要设置该属性1Ajax代码示例:$.ajax({ url : URL_...
  • ajax传数组

    千次阅读 2017-11-30 13:09:07
    [javascript] view plain copy var vehicleIdArray = new Array();  if(undefined != nodes){   $(nodes).each(function (ind,val){  ...// 把数据放入到数组里面去 
  • 我们在使用ajax异步的提交多选框得到需要操作的对象的id,这时我们可以把每一个id做出一个对象,之后放到一个数组中,再使用JSON.stringify()对这个数组进行json的格式化;在后台中再inputStream中解析出我们的json...
  • ajax传数组给python后台

    2020-03-18 16:39:55
    目的:[1,2,3,4]这样一个数组给后台 在这个问题上纠结了一会,最开始是使用json字符串的方式 前端: ids = [1,2,3,4] data = { "ids":ids } data = JSON.stringify(data) $.ajax({ url: "{{ url_for('Index.Buy'...
  • ajax $.ajax({ url: path + "/overtime/deleteByBatch.action?t="+new Date().getTime(), type: "POST", data:{"overtimeids" : arr}, dataType: "JSON&...
  • $.ajax({  url: "url",  type: "POST",  dataType: "json",  traditional: true,  data: {"ids" : idList},  success: function(res) {
  • Ajax 传数组

    2015-11-16 16:59:35
    $.ajax({ type:'post', traditional :true, //要写上这个 url:'gdupWeb/runtask.do', data:{firstSpecIDs:fristArr,secondSpecIDs:secondArr,thirdSpecIDs:thirdArr,fourthSpecIDs:fourthArr,startdate:...
  • 前几天做项目,由于获取的数据是内容长度都不定,所以需要一个数组到后端。 var array = [tom, bob, jack]; $.ajax({ url: basePath + "/deme", data: array, type: POST, //traditional:true, ...
  • ajax传数组时,后台其他参数都获取到。数组却拿不到后来发现要加 traditional:true traditional:true //var tableData[][]; $.ajax({ url : 'xxx', dataType:"json", type:"post", traditional:true,//...
  • js通过Ajax传递数组

    2019-11-05 14:29:38
    只需要在参数后面加 "" 就可以传递数组了 function sendArray() { var strArray = ["A","B","C","D"]; var numArray = [1,2,3,4]; $.ajax({ url:"sendArray", type:"post", data:{ ...
  • ajax参数传递修改为tradition: traditional: true $.ajax({ xhrFields: {withCredentials: true}, async: true, url: basePath + "/consumer/work", type: "post", dataType: "json", ...
  • ajax通过post方法传数组

    万次阅读 多人点赞 2018-08-02 09:50:44
    ajax在web项目开发中经常会用到,平时我们传递数据,基本都是一个参数名对应一个参数值,后端通过参数名就可以得到参数,从而进行相关逻辑处理,但是有时候我们会遇到批量操作,比如批量删除一个列表,这时候我们...
  • ajax参数传数组

    千次阅读 2018-07-23 15:53:58
    $.ajax({  url: '',  type: 'get',  traditional: "true",//写这项,参数types可以一个数组,接口访问成功后,可看到了多遍types参数  data: {  "types":paraTypes,  ...
  • django ajax传递数组

    千次阅读 2019-04-05 22:57:43
    需求:在ajax请求中,需要传递数组到django后台。 直接上代码: //前端ajax代码 $.ajax({ type: "POST", url: "/sky/deploy/saveDeploy", traditional:true, //加上这项可以传递数组 data: {"deployChecked":...
  • ajax传数组参数

    2019-04-28 16:19:59
    使用ajax请求,加上参数 traditional : true 前端请求:ids为数组 $.ajax({ url : "服务器地址", type : "post", data : { ids : ids }, traditional : true, success : function(data) { //回调处理 },...
  • Ajax 传数组 怎么接受

    2017-07-14 11:16:00
    var arr1 = [{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}]; //第一个数组存入键值对 var arr2 = [{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}]; var arr3 = new Array...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,475
精华内容 49,790
关键字:

ajax传数组