Javascript 无法将提交按钮映射到"/提交;thymeleaf中的api调用

Javascript 无法将提交按钮映射到"/提交;thymeleaf中的api调用,javascript,java,html,thymeleaf,Javascript,Java,Html,Thymeleaf,这是我在Spring控制器中的web服务方法: @RequestMapping(value = "/submit", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public @ResponseBody Response submitAppication(@RequestBody String submitString) {

这是我在Spring控制器中的web服务方法:

@RequestMapping(value = "/submit", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public @ResponseBody Response submitAppication(@RequestBody String submitString) {
    System.out.println("***************************  Entering for submit part ********************************");
    Response response = Response.status(400).build();
    try {
        JSONObject jsonObject = new JSONObject(submitString);
        jsonObject.put("event", "submit");

        SMEvent sme = new SMEvent(HttpMethod.POST, jsonObject);

        String tid = Util.getTid(jsonObject);
        response = handleEvent(sme, getVerificationType(tid), tid);
    } catch (JSONException e) {
        //TODO log some exception here
    } finally {
        return response;
    }
}
这是我的HTML页面,包含一个表单:


名称



父亲的名字


联系电话


取消 提交
当我单击submit按钮时,它应该调用前面提到的web服务方法

目前我得到了以下异常,它没有调用web服务

查找路径/提交的处理程序方法 2017-09-25 15:41:36.189调试5405---[nio-8080-exec-4] .m.m.a.ExceptionHandlerExceptionResolver:从解决异常 处理程序[null]: org.springframework.web.HttpMediaTypeNotSupportedException:内容 不支持类型“application/x-www-form-urlencoded”

请尝试下面的方法

  @PostMapping(value = "/submit")
        public ResponseEntity<UserSetail> createUser( @RequestBody UserDetail user) 
        {
    new ResponseEntity<UserSetail>(user, HttpStatus.CREATED);
        }
@PostMapping(value=“/submit”)
public ResponseEntity createUser(@RequestBody UserDetail user)
{
新响应属性(用户,HttpStatus.CREATED);
}
请尝试以下操作

  @PostMapping(value = "/submit")
        public ResponseEntity<UserSetail> createUser( @RequestBody UserDetail user) 
        {
    new ResponseEntity<UserSetail>(user, HttpStatus.CREATED);
        }
@PostMapping(value=“/submit”)
public ResponseEntity createUser(@RequestBody UserDetail user)
{
新响应属性(用户,HttpStatus.CREATED);
}

您正在发布一个HTML表单,但web服务配置为使用JSON

将web服务方法更改为:

@RequestMapping(value = "/submit", method = RequestMethod.POST,
        consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public @ResponseBody Response submitAppication(
          @RequestBody MultiValueMap<String, String> formParams) {
    // TODO: Extraction logic here
}
@RequestMapping(value=“/submit”,method=RequestMethod.POST,

consumes=MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE) public@ResponseBody响应提交( @RequestBody多值映射(formParams){ //TODO:这里是提取逻辑 }
您正在发布一个HTML表单,但web服务配置为使用JSON

将web服务方法更改为:

@RequestMapping(value = "/submit", method = RequestMethod.POST,
        consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public @ResponseBody Response submitAppication(
          @RequestBody MultiValueMap<String, String> formParams) {
    // TODO: Extraction logic here
}
@RequestMapping(value=“/submit”,method=RequestMethod.POST,

consumes=MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE) public@ResponseBody响应提交( @RequestBody多值映射(formParams){ //TODO:这里是提取逻辑 }
@LucianovanderVeekens这方面的解决方案应该是什么,我也尝试过添加“请帮助我”,因为我是新来的spring@LucianovanderVeekens尝试过了,它进入了方法,但显示是一个错误的请求,因为我接受它作为字符串。这将解释如何从html表单发送json数据,否则,您必须使用
RequestMethod.POST
@RequestParam
更改服务器实现,以获取构成send的每个参数。@LucianovanderVeekens应该如何解决此问题,我还尝试添加了请帮助我,因为我是新来的spring@LucianovanderVeekens尝试过了,它进入了方法,但显示是一个错误的请求,因为我接受它作为字符串。这将解释如何从html表单发送json数据,否则,您必须使用
RequestMethod.POST
@RequestParam
为构成send的每个参数更改服务器实现。这是什么???我不明白你想建议什么。请帮我写代码……这是什么???我不明白你想建议什么。请帮我写代码……我得到了:{“statusType”:“BAD_REQUEST”,“entity”:null,“entityType”:null,“metadata”:{},“status”:400}以及您建议的解决方案确保@RequestMapping(value=“/submit”,method=RequestMethod.POST,consumes=MediaType.APPLICATION\u URLENCODED)@products(MediaType.APPLICATION\u JSON)public@ResponseBody响应提交(@RequestBody MultiValueMap submitString){Response-Response=Response.status(400).build();JSONObject JSONObject=new JSONObject(submitString);JSONObject.put(“事件”,“提交”);//一些代码返回响应;}@User120909我在
消费中出错,使用
MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE
MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE此MediaType不支持显示的intelijerror@User120909您还应该删除
@products
,因为它混合了JavaEE和Spring。
RequestMapping
注释本身有一个
products
字段,请使用该字段。我得到以下信息:{“statusType”:“BAD_REQUEST”,“entity”:null,“entityType”:null,“metadata”:{},“status”:400}以及您建议的解决方案确保@RequestMapping(value=“/submit”,method=RequestMethod.POST,consumes=MediaType.APPLICATION\u URLENCODED)@products(MediaType.APPLICATION\u JSON)public@ResponseBody响应提交(@RequestBody MultiValueMap submitString){Response-Response=Response.status(400).build();JSONObject JSONObject=new JSONObject(submitString);JSONObject.put(“事件”,“提交”);//一些代码返回响应;}@User120909我在
消费中出错,使用
MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE
MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE此MediaType不支持显示的intelijerror@User120909您还应该删除
@products
,因为它混合了JavaEE和Spring。
RequestMapping
注释本身有一个
products
字段,请使用该字段。