如何使用jQuery将JSON对象数组发布到Struts2操作
How to post an array of JSON objects to a Struts2 action using jQuery?
使用Struts2。在我的行动中,我有一个List<Person> persons;
在javascript中,我有这样的函数:
function mytestfunction() {
var url = "MyAction_mytestfunction.action";
var params = {};
var arr = [];
var p1 = { "firstname" : "John", "lastname" : "Doe"};
var p2 = { "firstname" : "Rob", "lastname" : "Smith"};
arr.push(p1); arr.push(p2);
params["persons"] = arr;
$.post(url, params, function(data) {
console.log("done");
});
}
问题是,post()永远不会到达操作。日志中没有错误,什么都没有。
如果不是发布对象,而是发布基元,这一切都会改变。因此,当我在Action中有一个List<Integer> nums
,在javascript中有params["nums"] = [1,2,3];
时,一切都发布得很好。
那么,有没有一种方法可以通过javascript/jquery将JSON对象发布到Struts2操作?
我应该提到,我使用的是strutsjquery插件,而不是dojo。
我对struts一无所知,但这就是我用json:发布对象的方式
$.ajax({
type: "POST",
data: JSON.stringify(SOME_JAVASCRIPT_OBJECT),
contentType: "application/json; charset=utf-8"
// etc: etc
});
您可以尝试以下示例:
$.ajax({
type: "Post",
url: "action_name", //you can pass through querystring like actionname?paramname=value
data : {
//here comes your param or array
},
dataType:"json",
contentType: "application/json; charset=utf-8",
});
如果您想通过querystring类型必须是GET
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- 将数组对象传递到struts2中的操作类
- 如何执行需要在主打开JSP中执行的struts2操作
- 将参数从anchor标记发送到struts2操作
- 当我从struts2操作在js函数中获得JSONArray时,它是空的,我不知道为什么
- 在Struts2中将参数从视图传递给操作
- 在 struts2 操作中访问隐藏字段(在 JavaScript 中创建)
- 将值添加到 arraylist(在 javascript 中)并在 struts2 操作中检索
- 调用 Struts2 操作,每个 jQuery DataTable 行中的参数
- 使用Ajax将表单数据发送到Struts2操作类
- 如何使用jQuery将JSON对象数组发布到Struts2操作
- 在Struts2中将一个参数从JSP传递给操作类
- 如何将参数从JSP传递到Struts2操作
- 在提交表单时未调用struts2操作方法
- 通过struts2操作类(使用jtable)从数据库填充下拉列表
- 如何从javascript调用struts2操作