我想将变量从视图传递到控制器,我正在使用ajax调用来实现它,但在下面出现错误。我不知道我在这里想念什么。
WARN 41440 --- [nio-8080-exec-9] o.s.web.servlet.PageNotFound:请求方法'POST'不支持
这是我的代码
document.getElementById('btntest').onclick = function(){
var selchbox = getSelectedChbox(this.form); // gets the array returned by getSelectedChbox()
myvalue = JSON.stringify(selchbox);
//document.write("check check"+selchbox);
$.ajax({
type: "POST",
url: "UserController/delete",
contentType: "application/json; charset=utf-8",
data: {key:myvalue},
cache: false,
success: function (data) {
alert("Are you sure?");
},
error: function (args) {
alert("Error on ajax post");
}
});
alert(selchbox);
}
我的控制器方法如下所示
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public String delete(@RequestBody String key) {
System.out.println("My Array value"+key.toString());
return key;
}
我在这里想念的是什么?任何帮助
答案 0 :(得分:0)
至少有两个问题
答案 1 :(得分:0)
首先,如果要删除,为什么不使用动词delete http?
我认为您没有使用正确的参数:RequestParam用于将sORGID参数映射到URL(您在客户端未使用的参数,必须使用它或将其删除)。 如果要映射Json,则必须使用@RequestBody。
我希望对您有帮助
答案 2 :(得分:0)
最后,我可以将值从视图传递到控制器,我正在发布代码。 这是我的js代码
document.getElementById('btntest').onclick = function(){
var selchbox = getSelectedChbox(this.form); // gets the array returned by getSelectedChbox()
var myvalue = JSON.stringify(selchbox);
//document.write("check check"+selchbox);
$.ajax({
type: "POST",
url: "/delete",
dataType : "JSON",
contentType:"application/json; charset=utf-8",
data: JSON.stringify(selchbox),
cache: false,
success: function (data) {
alert("Are you sure?");
},
error: function (args) {
alert("Error on ajax post");
}
});
alert(selchbox);
}
还有我的控制器代码
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public String delete(@RequestBody String value){
System.out.println("My Array value"+value.toString());
return value;
}