ajax-springMVC提交表单的方式

Posted zincredible

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax-springMVC提交表单的方式相关的知识,希望对你有一定的参考价值。

1.request参数提交(Form提交),适用于GET/POST

request参数传递都会转换成 id=123&fileName=test.name&type=culture_art这种形式,get请求会显示在url上,post不在url上显示

 

ajax写法:

$.ajax({
        url : /admin/test,
        type : "post",
        async : true,//默认为true
        contentType: application/x-www-form-urlencoded, //默认值为表单提交
        data : {"id" : id,"fileName" : fileName,"type" : modelType},//请求参数
        success : function(data) {
            //请求成功处理
        },
        error : function(data) {
            //请求失败处理
        }
});

controller

第1,2种写法controller形参和ajax data中的key必须保持一致

第3种写法形参可以不一致,@requestParam中的vaue必须和data中的key一致才能自动参数绑定)

第1种写法
@PostMapping("/admin/test") public ResultBean<String> updateModelNameAndType(
  String id,
  String fileName,
  String type) {
return null; }
第2种写法 @PostMapping(
"/admin/test") public ResultBean<String> updateModelNameAndType(
   @RequestParam String id,
  @RequestParam String fileName,
   @RequestParam String type) {
return null; }
第3种写法 @PostMapping(
"/admin/test") public ResultBean<String> updateModelNameAndType(
  @RequestParam(value="id") String tmpId,
  @RequestParam(value="fileName") String tmpFileName,
  @RequestParam(value="type") String tmpType) { return null; }
第4种写法(封装成bean,bean的属性名称和ajax data中的key一致即可自动绑定到对象)
@PostMapping("/admin/test")
public ResultBean<String> updateModelNameAndType(ModelInfo modelInfo) {
      return null;
}

2.request body提交,适用于POST提交

注意将ajax中data的值json对象转成json字符串

 

ajax

$.ajax({
    url : "/admin/test",
    type : "post",
    contentType : "application/json;charset=UTF-8",
    data : JSON.stringify({id:"id",fileName:"test.txt"}),//或者直接获取form表单 data : $(\'#form\').serialize()
    success : function(data) {
        
    },
    error : function(data) {
        
    }
});

controller

@PostMapping("/admin/test")
public ResultBean<String> insertNewVersion(@RequestBody VersionEntity versionInfo) {
  return service.getVersionSvc().insertVersion(versionInfo);
}

 

以上是关于ajax-springMVC提交表单的方式的主要内容,如果未能解决你的问题,请参考以下文章

为 Laravel 集体表单创建手动提交按钮

uni-app.02.提交form表单的两种方式

HTML 表单提交 的简单代码

表单提交有那两种方式?PHP如何获得表单提交的数据?

表单提交中get和post方式的区别

在 html 表单提交上发布有序列表内容的最佳方式是啥?