Javascript 无法将提交按钮映射到"/提交;thymeleaf中的api调用
这是我在Spring控制器中的web服务方法: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) {
@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
字段,请使用该字段。