如何使用java脚本或Jquery从表单调用spring控制器方法

how to call the spring controller method from form using java script or Jquery

本文关键字:调用 表单 spring 控制器 方法 Jquery 何使用 java 脚本      更新时间:2023-09-26

我试着用

呼叫控制器
document.forms[0].value = "getSignFaces";
document.forms[0].submit();

但是它没有在控制器

中调用方法
@RequestMapping(value=signFaces.do, method=RequestMethod.POST , params ="getSignFaces")
    public String getSignFaces(Model model,@ModelAttribute(HBMSWebConstants.MODEL_SIGN_DETAILS) HBMSSessionDataWO sessionData,
@ModelAttribute SignDetailsForm form,HttpServletRequest request, 
HttpServletResponse response,@RequestParam String noOfFaces,

我需要把noOfFaces发送给这个方法。

它是如何失败的。如果我遗漏了什么,请告诉我

我认为你可以尝试使用ajax调用来做post到控制器。

为例:

var jsonfile= {json:JSON.stringify(contents)};
$.ajax({
type:'POST',
url: "/yourcontrollermapping/signFaces.do
data: jsonfile,
dataType: "json"
});

然后你的控制器方法:

@Controller
@RequestMapping("/yourcontrollermapping"
public class YourController(){
@RequestMapping(value = "/signFaces.do, method = RequestMethod.POST)
public void getSignFaces(@RequestParam("json) String json){
//stuff you want to do
}
}

如果你想使用原生javascript,你可以:

var jsonfile= {json:JSON.stringify(contents)};
var r = new XMLHttpRequest(); r.open("POST", "yourcontrollermapping/signFaces.do", true); r.onreadystatechange = function () {  if (r.readyState != 4 || r.status != 200) return;   console.log(r.responseText); }; r.send(jsonFile);