繁体   English   中英

如何使用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并且params["nums"] = [1,2,3]; 在javascript中,一切都很好发布。

因此,有没有一种方法可以通过javascript / jquery将JSON对象发布到Struts2操作中?

我应该提到我使用的是struts-jquery插件,而不是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",
});

如果要通过查询字符串,则类型必须为GET

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM