gpt4 book ai didi

java - 如何使用 jquery 将 json 数组发送到 java servlet

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:16 24 4
gpt4 key购买 nike

我目前正在开发 spring mvc 应用程序,我需要发布 JSON 数组

当我访问 request.getParameter("paramValue") 来获取参数属性时,但它返回一个 null 值,

这是我的前端代码:

$.ajax(url, {
async: true,
type: 'post',
contentType: 'application/json',
data: JSON.stringify({
"test":"test value"
})
}).done(function (response) {
console.log(data);
}).fail(function (xhr) {
console.log("request failed");
console.log(xhr);
});

这是我的服务器端代码:

@RequestMapping(value = "/Products", method = RequestMethod.POST)
public void saveProducts(HttpServletRequest req, HttpServletResponse res) throws Exception {

System.out.println(req.getContentType());
System.out.println(req.getContentLength());
System.out.println(req.getContextPath());
System.out.println(req.getParameterValues("test"));
System.out.println(req.getMethod());

StringBuilder buffer = new StringBuilder();
BufferedReader reader = req.getReader();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String data = buffer.toString();

System.out.println(data);

System.out.println(req.getParameter("test"));
}

输出为:

application/json
22

null
POST
{"test" : "Test DAta"}
null

我不知道发生了什么,请帮助我。

最佳答案

删除ajax函数中的这一行

contentType: 'application/json',

并替换此行

data:  JSON.stringify({
"test":"test value"
})

data: {
"test":"test value"
}

你也可以使用

req.getParameter("test")

相反

req.getParameterValues("test")

关于java - 如何使用 jquery 将 json 数组发送到 java servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com