iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >jquery中怎么使用ajax向后台传递数组参数
  • 621
分享到

jquery中怎么使用ajax向后台传递数组参数

2024-04-02 19:04:59 621人浏览 独家记忆
摘要

这篇文章给大家介绍Jquery中怎么使用ajax向后台传递数组参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。需求: 在js中向后台传递数组参数 分析: JS中的数组是弱类型的可以放

这篇文章给大家介绍Jquery中怎么使用ajax向后台传递数组参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

需求:
js中向后台传递数组参数

分析:
JS中的数组是弱类型的可以放任何类型(对象、基本类型),但是如果数组中放的是对象类型,传递到后台是显示的只能是对象字符串--[object Object],原因如下:
在后台接收的时候,只能用request来接收,request.getParameterValues()方法返回的是一个String[],所以,应该是在前台传输的时候调用了对象的toString()方法,那么如果依然想传递对象怎么办?凉拌!
但是可以使用JSON字符串来实现,在后台把JSON字符串解析成JAVA对象。

也许,你要说如果是复合对象怎么办,比如如下:

复制代码 代码如下:


public class Person {
private String username;
private String passWord;
private Address addr;
}


Person对象里有个Address类型的addr属性,没关系,任何对象最终用到的属性值都是基本数据类型,只需要使用对应的包装类型parseInt、或者parseXXX解析即可。

实现:
OK,原理就是这么个。先看JS如何写:

复制代码 代码如下:


var as = [];
var temp = [];
for ( var int = 0; int < 5; int++) {
temp.push('{"k":');
temp.push(int);
temp.push(',"v":');
temp.push(int);
temp.push('}');
as.push(temp.join(""));
}
//Jquery中的方法,具体参考Jquery api
$.post(
"servlet/AjaxServlet?m=putWarningRule",{"aa":as}
);


最终拼成的串就是如下样式,(只作举例)

复制代码 代码如下:


{"k":0,"v":0}


后台接收,不讨论任何框架,只需要httpservletRequest即可

复制代码 代码如下:


String[] jsonArr = request.getParameterValues("aa[]");


有一点需要注意,在js中传参的时候参数名叫"aa",而在后台接收的时候却是"aa[]",这里应该是Jquery做了转换,所以最好的方式就是在JS中就改为"aa[]",之所以这里没有写"[]"是为了说明问题。可以使用如下方式打印request中的所有参数

复制代码 代码如下:


Enumeration<String> names = request.getParameterNames();
while (names.hasMoreElements()) {
String string = (String) names.nextElement();
System.out.println(string);
}


OK,至此为止,已经接收完毕,剩下的就是如何将一个JSON字符串转成一个POJO了。我使用jsontools-core-1.7.jar,此jar包依赖antlr-2.7.7.jar,自行到代码库中下载,下载完毕,导入classpath,写一个简单的工具类,主要有这么2个方法:

复制代码 代码如下:



public static String toJSONAsString(Object obj){
try {
return JSONMapper.toJSON(obj).render(false);
} catch (MapperException e) {
e.printStackTrace();
}
return null;
}

@SuppressWarnings("unchecked")
public static <T> T jsonToObject(String jsonStr, Class<T> targetClass) throws TokenStreamException, RecognitionException, MapperException{
JSONValue jv = new JSONParser(new StringReader(jsonStr)).nextValue();
return (T) JSONMapper.toJava(jv,targetClass);
}

//test
public static void main(String[] args) throws Exception {
Person p = new Person();
p.setK("a");
p.setV("v");

String json = toJSONAsString(p);
Person np = jsonToObject(json,Person.class);
System.out.println(np.getK()+"=="+np.getV());
}


request取到值后,遍历数组,挨个转换

复制代码 代码如下:


Person p = JSONUtils.jsonToObject(jsonArr[0], Person.class);


Person类如下:

复制代码 代码如下:


public class Person {
private String k;
private String v;
public String getK() {
return k;
}
public void setK(String k) {
this.k = k;
}
public String getV() {
return v;
}
public void setV(String v) {
this.v = v;
}
}

关于jquery中怎么使用ajax向后台传递数组参数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: jquery中怎么使用ajax向后台传递数组参数

本文链接: https://www.lsjlt.com/news/74920.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jquery中怎么使用ajax向后台传递数组参数
    这篇文章给大家介绍jquery中怎么使用ajax向后台传递数组参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。需求: 在JS中向后台传递数组参数 分析: JS中的数组是弱类型的可以放...
    99+
    2024-04-02
  • jquery的ajax如何向后台传递数组
    jQuery是一款流行的前端JavaScript框架,它提供了丰富的功能和组件,其中之一就是Ajax。在Ajax中,我们经常需要向后台传递数据,无论是单个值还是多个值。本文将介绍如何使用jQuery的Ajax向后台传递数组。序列化数组在传递...
    99+
    2023-05-18
  • 使用ajax怎么从JSP传递对象数组到后台
    本篇文章为大家展示了使用ajax怎么从JSP传递对象数组到后台,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JSP:function addAccount(){debugger;var&n...
    99+
    2023-06-08
  • 如何使用ajax传递数组及后台接收
    这篇文章主要介绍了如何使用ajax传递数组及后台接收,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言我们在使用ajax异步的提交多选框得到...
    99+
    2024-04-02
  • Java项目中前台如何向后台传递参数
    本篇文章为大家展示了Java项目中前台如何向后台传递参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.传字符串的形式,字符串中每个id用 “,” 隔开打印出来如下形式:前台JS代码functio...
    99+
    2023-05-31
    java ava 目中
  • 怎么向jquery函数传递多个参数
    这篇文章主要讲解了“怎么向jquery函数传递多个参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么向jquery函数传递多个参数”吧!   // D...
    99+
    2024-04-02
  • 怎么用jQuery AJAX实现后台传数据
    这篇文章主要介绍了怎么用jQuery AJAX实现后台传数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用jQuery AJAX实现后台传数据文章都会有所收获,下面我们一...
    99+
    2024-04-02
  • ajax中怎么传递多个参数
    今天就跟大家聊聊有关ajax中怎么传递多个参数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下<html > <...
    99+
    2024-04-02
  • Ajax传递中文参数到后台乱码的解决方法
    这篇文章主要讲解了“Ajax传递中文参数到后台乱码的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ajax传递中文参数到后台乱码的解决方法”吧! ...
    99+
    2024-04-02
  • JS AJAX前台给后台类的函数传递参数的方法教程
    本篇内容主要讲解“JS AJAX前台给后台类的函数传递参数的方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS AJAX前台给后台类的函数传递参数的方法...
    99+
    2024-04-02
  • php怎么传递数组参数
    这篇文章主要讲解了“php怎么传递数组参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php怎么传递数组参数”吧!php可以传递数组参数。在PHP5.6及以后的版本中,函数的形式参数可使用...
    99+
    2023-06-30
  • Python3中怎么向zip()函数传递参数
    这篇文章主要讲解了“Python3中怎么向zip()函数传递参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3中怎么向zip()函数传递参数”吧!基础知识首先,我们来介绍一些基...
    99+
    2023-07-05
  • jquery怎么实现向后台提交数组
    这篇“jquery怎么实现向后台提交数组”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery怎么实现向后台提交数组”文...
    99+
    2023-06-17
  • Ajax中servlet后台传递数据的用法有哪些
    Ajax中servlet后台传递数据的用法有哪些 ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。servlet给前台传递dat...
    99+
    2024-04-02
  • 如何解决jQuery.ajax向后台传递数组的问题
    小编给大家分享一下如何解决jQuery.ajax向后台传递数组的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jQuery....
    99+
    2024-04-02
  • Ajax中如何通过response在后台传递数据
    这篇文章主要为大家展示了“Ajax中如何通过response在后台传递数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax中如何通过response在后台...
    99+
    2024-04-02
  • 如何在 PHP 中向函数传递数组作为参数?
    在 php 中,我们可以通过在函数参数前指定显式类型提示 array 来向函数传递数组作为参数,这确保了函数只接受数组类型的参数。这样,我们可以灵活处理大量数据或创建可重用的代码块。例如...
    99+
    2024-04-11
    php 数组
  • java数组怎么作为参数传递
    在Java中,数组作为参数传递的方式与普通的变量类似。你可以将一个数组作为方法的参数,然后在方法内部使用该数组进行操作。 下面是一个...
    99+
    2023-10-26
    java
  • angular中如何使用post、get向后台传参
    小编给大家分享一下angular中如何使用post、get向后台传参,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、问题的来源我们都知道向后台传参可以使用get、put,其形式就类似于n...
    99+
    2024-04-02
  • springMvc前端如何使用json的方式向后台传递对象数组方法
    这篇文章主要介绍了springMvc前端如何使用json的方式向后台传递对象数组方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作