gpt4 book ai didi

javascript - JQuery 无法将数据发布到 SPRING MVC Controller

转载 作者:行者123 更新时间:2023-11-28 15:27:04 26 4
gpt4 key购买 nike

我正在使用 JQuery block 将数据发送到 Spring Controller ,这是 JQuery 代码

 $('.usr').click(function () {
var user = $(this).text();

$.post("three.htm", {
user: user
},function(data){
console.log(JSON.stringify(data));
//window.location.replace('five.htm');
var form = $('<form action="five.htm" method="post">' +
'<input type="hidden" name="usrData" id="usrData" value="' + JSON.stringify(data) + '" />' +
'</form>');
$('body').append(form);
$("form").submit();
});

});

Spring Controller 中需要表单中的数据,其代码如下:

@RequestMapping(value="/home/five.htm")
public ModelAndView five(HttpServletRequest request,
HttpServletResponse response) throws Exception {

Map<String, String> model = new HashMap<String, String>();
String abc = request.getParameter("usrData");
return new ModelAndView("five",model);
}

“abc”的值仅被发现为“{”,而我需要的是通过 JQuery 打印到控制台的 JSON 数据的字符串化版本。

最佳答案

问题是 " 的转义在字符串化的 json 数据中。

$('.usr').click(function () {
var user = $(this).text();

$.post("three.htm", {
user: user
}, function (data) {
console.log(JSON.stringify(data));
//window.location.replace('five.htm');
var $form = $('<form action="five.htm" method="post" />');
$('<input/>', {
type: 'hidden',
name: 'usrData',
value: JSON.stringify(data)
}).appendTo($form)
$('body').append($form);
$form.submit();
});

});

例如,如果您的数据是 {test:3} ,那么您正在构造的字符串将是 <form action="five.htm" method="post"><input type="hidden" name="usrData" id="usrData" value="{"test":3}" /></form> ,现在如果你看看value属性你可以看到 " o 值提前终止。

<小时/>

但实际上,您是否需要这样的表单提交,为什么不使用简单的 ajax post 请求呢?

关于javascript - JQuery 无法将数据发布到 SPRING MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622668/

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