如何更改Jquery ajax获取params到ajax post params,比如'?name = 2& name = 3& name = 4'?

时间:2016-07-28 09:27:52

标签: jquery arrays ajax jsp

我想在Jquery ajax中向服务器发布大量相同的字段值,我可以通过将所有值添加到url来实现,但我想知道如何使用数据属性来完成它。必须有平等的方式。

$.ajax({
    type : "POST",
    url : 'abc.action?name=5&name=6',
    data : {
        name : 2,
        name : 3
    },
    error : function() {
        console.error("operate failed");
    },
    success : function(data) {
        console.log(data);
    }
});

在上面的代码中,请求将5,6和3发送到服务器,但不是2。 enter image description here

使用不同的服务器端也许这个问题会有所不同,我使用Struts2。

2 个答案:

答案 0 :(得分:2)

您似乎在寻找array

只需将变量name定义为数组即可。并将所有值推入其中,一旦它具有所有值,然后在ajax请求中发送它。

name = [];

name.push("2");
name.push("3");

$.ajax({
    type : "POST",
    url : 'abc.action',
    data : {
        name : name
    },
    error : function() {
.....

答案 1 :(得分:0)

这是因为您一次又一次地覆盖相同的变量名称。如果有多个值而不是将其放入数组并发送它。还有一件事,没有必要在url中指定变量,如:

url : 'abc.action?name=5&name=6',

因为您在数据中提供变量:{}本身。