/*配对后发送微博,这个需要@xx*/
function faweibo(id){
var users = new Array();
$("#friendList dd p input[type=checkbox]").each(function(i){
if($(this).attr("checked"))
users.push(encodeURIComponent($(this).val()));
});
users = toJSON(users);
$.ajax({
type:'post',
url:"/qq/pei/faweibo.do",
data:{'users':users},
success: function(data){
popfruit('send_ok',200);
});
}
上面的这个函数是当弹窗一个窗口的时候,获取用户选择的checkbox,如果选中了就将用户的id放到数组,传给后台
这里需要一个arraytoson的方法
//将一个数组转换json对象
function toJSON(obj){
var json = '({';
$.each(obj, function(k,v){
var q = typeof v == 'string' ? ~v.indexOf("'") ? '"' : "'" : '';
if (typeof v == 'object')
v = toJSON(v).slice(0,-1).substr(1);
json+= k + ':'+ q + v + q + ',';
});
return json.slice(0,-1)+'})';
};
如果后台是用php就简单多了, data:{'users':users},根本就不要转换。在java中就需要自己进行转换。
下面的parseJsonToArray就是负责转换的。
@Action(value = "faweibo", results = { @Result(name = SUCCESS, type = "json", params = {
"target", "jsonMap" }) })
public String faweibo() throws Exception {
String users = request.getParameter("users");
users = java.net.URLDecoder.decode(users, "utf-8");
List<String> u = parseJsonToArray(users);
//u中放的就是前台传过来的userId的值。
}
这里需要解析传过来的json字符串
public static List<String> parseJsonToArray(String data) {
List<String> list = new ArrayList<String>();
if (null == data || data.length() == 0) {
return null;
}
if (data.length() < 4) {
return null;
}
String temp = data.substring(2, data.length() - 2);
temp = temp.replaceAll("\\'", "");
String splitResult[] = temp.split(",");
for (int i = 0; i < splitResult.length; i++) {
list.add(splitResult[i].substring(splitResult[i].indexOf(":") + 1));
}
return list;
}
这样就可以获得前台传过来的多个参数。
这里想要要用数组来传参,而不是通过 data:{'user1':user1,''user2':user2,''user3':user3,'}这样的方式,主要是考虑如果有多个checkbox的时候,这样添加参数会很蛋疼。所以想到用数组传参来解决这个问题。
以上是自己在项目中用的解决办法,希望可以得到大家的指点。
分享到:
相关推荐
当需要传递数组作为参数时,可能会遇到一些挑战,特别是在数组中包含复杂对象的情况。本文将深入讲解如何在jQuery AJAX中向后台传递数组参数,并提供示例代码。 首先,理解问题的关键在于JavaScript数组在传递给...
### AJAX传递List对象数组知识点详解 #### 一、前言 在Web开发中,前后端交互是必不可少的一个环节。AJAX作为一种实现异步加载数据的技术,可以有效地提升用户体验。本篇将详细介绍如何通过AJAX来传递一个List对象...
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
通过jQuery Ajax传递数组参数值到服务器端的这三种方法各有特点。使用`serialize()`方法适合于表单元素,而直接在Ajax请求中传递JavaScript对象则更为直观和简洁。当需要传递复杂的数据结构或者想明确指定内容类型时...
当前端使用 jQuery 向后台传递数组类型的参数时,Java 后台尝试直接通过 `List` 类型来接收这些参数,却发现无法取到任何数据。例如: **前端代码示例**: ```javascript $.ajax({ url: "xxxx", data: { areaList...
从 URL 中传递数组参数到 Controller 类中接收数组参数,我们将一步步地学习如何实现。 URL 中传递数组参数 在 SpringMVC 中,可以使用 GET 或 POST 方法将数组参数传递到 Controller 中。下面是一个使用 GET 方法...
"jQuery Ajax向某个页面传值并取得返回的数组"这一主题涉及到如何使用jQuery的Ajax方法来发送请求,传递参数,并接收服务器返回的数据,特别是数组类型的数据。 首先,我们需要理解jQuery的Ajax方法`$.ajax()`,这...
在本文中,我们将深入探讨如何使用Ajax从JSP页面向后台服务器传递对象数组。这个过程对于Web应用程序的数据交互至关重要,特别是在需要动态更新数据且不刷新整个页面的情况下。下面,我们将详细解析实现这一功能的...
在Web开发中,前后端数据交互是至关重要的一个环节,特别是在动态网页应用中。"前台Ajax与后台Json传递"这个主题就是关注如何高效地实现这一交互过程。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新...
例如,如果JSON数组包含了地理坐标信息,可以创建一个新的数组`points`,并将每个JSON对象的`lon`和`lat`属性添加到数组中,以备后续的地理位置处理。 总结来说,通过jQuery的AJAX功能,前后台间可以方便地传递JSON...
在JavaScript(JS)中,将数组作为参数传递到后端控制器(如在Java Spring MVC、ASP.NET MVC或Node.js Express等框架中)是一项常见的任务。本文将详细介绍如何实现这一过程,以及涉及的关键知识点。 首先,我们...
- 这种方法与第一种方法类似,只是省略了`toArray()`方法中的参数传递,直接将数组传递给该方法即可。 **方法三:使用空数组作为参数** ```java List<String> list = new ArrayList(); list.add("a1"); list.add(...
Java中前台往后台传递多个id参数的实例 在 Java 中,前台往后台传递多个 id 参数是非常常见的场景...这个实例展示了如何在 Java 中前台往后台传递多个 id 参数,包括前台 JS 代码的处理、后台的处理和Ajax请求的处理。
jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...
当后端接收到这个请求后,会需要解析JSON字符串以获取数组中的数据。在Java中,可以使用@RequestBody注解直接将请求体中的JSON字符串反序列化为数组或者列表对象。但文档中提到,这种方法较为繁琐。另一种简便的方法...
在后端(即服务器端),我们需要对接收到的请求参数进行解码,以还原出原始的中文字符。 ##### 参数接收 ```java String name = request.getParameter("name"); ``` 这里的`name`参数就是通过前端编码之后再传递...
本文将深入探讨如何在Java后端实现对gzip压缩的处理,以便于Ajax请求能够正确地进行gzip压缩通信。 首先,我们需要理解gzip压缩的工作原理。gzip是一种基于DEFLATE算法的压缩格式,它会将连续的数据流分成多个块...
在这个例子中,`data`参数是一个包含List和Map的对象,它们会被自动转换成JSON格式并作为POST请求的主体发送。在服务器端,你需要处理这些JSON数据,将其转换回List和Map,然后进行业务逻辑处理。 在服务器端,你...