如何在Ajax中发送js数组

我已经创建了一个这样的JS数组var detailsArr = new Array();,并将一些数据推入该数组中。

现在我像这样通过Ajax将数组推送到我的Spring Controller

$.ajax({

type: "POST",

url: "submit",

data: ({detailsArr : detailsArr }),

success: function(html){

alert( "Submitted");

}

});

在Spring Controller端,我通过@RequestBody注释接收到此数组。Spring Controller方法签名看起来像这样

public String submit(@RequestBody String body)

但是在Spring Controller端接收到的数组基本上是这种格式的String

detailsArr[]=add&detailsArr[]=test1&detailsArr[]=test2&detailsArr[]=test3

我必须手动拆分此String以获取值,这是一个繁琐的过程。有什么方法可以按原样获取数组,因此我只需要对其进行迭代即可获取值。

回答:

您应该将数组以json格式传递给服务器。并通过使用Json将其转换为对象转换器。您可以使用Gson

客户端:

$.ajax({

type: "POST",

url: "submit",

data:JSON.stringify(detailsArr),

success: function(html){

alert( "Submitted");

}

});

服务器端 :

public String submit(@RequestBody String body){

//convert body to array using JSONLib, FlexJSON or Gson

}

以上是 如何在Ajax中发送js数组 的全部内容, 来源链接: utcz.com/qa/407283.html

回到顶部