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);
}

原文地址:https://www.cnblogs.com/zincredible/p/10236268.html

时间: 2024-10-10 00:12:01

ajax-springMVC提交表单的方式的相关文章

ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码

首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变? 先说一下为什么有这个需求:以提交注册信息页面为例,一般注册都需要用户填一个验证码信息(防止机器恶意注册),并且这个验证码会提交到后台去进行比对,若是错了则不会检查其他提交信息而直接返回浏览器端提示验证码错误.若是简单地用form表单直接将数据提交到指定的url,当验证码填写错误的信息返回浏览器端的时候,不可避免整个页面都会重新刷新一次,这是用户所不想要

ASP.Net 提交表单 post 方式代码

下面代码是我post按钮下面的代码,里面有我实际项目的一些参数和返回数据,仅供参考. if (Request.QueryString["po"] != "") { strPo = Request.QueryString["po"].ToString(); } string url = HttpContext.Current.Request.Url.AbsoluteUri.ToString().Replace("poPage.aspx?p

使用ajax异步提交表单

虽然这篇文章的标题是提交表单,但是主要的难点在于使用ajax提交文本域的内容, 在工作中的经常会需要ajax跨域的问题,通常的需求使用jsonp就可以得到解决,但是当前项目中有一个图片服务器,客户端需要直接上传图片到图片服务器中,这就产生了一个跨域post提交文件的问题,很显然jquery本身jsonp只支持get方式的异步提交肯定是不行 其中也尝试过使用ifrmae的方法来提交数据,在网上有,但是效果不理想,并且也很复杂的样子,最后选择出了jquery.from.js 这个插件,可以实现异步的

Asp.net Mvc Ajax.BeginForm提交表单

之前Mvc中一直用Html.BeginForm提交表单,即如下: @using (Html.BeginForm("Add", "News", FormMethod.Post, new { enctype = "multipart/form-data" })) { <table> <tr> <td><span style="color:red">*</span><

jQuery通过AJAX快速提交表单数据

当表单数据项很多时,手动获取表单项的值将变得效率低下,结合jQuery提供的函数serialize(),我们可以实现快速获取数据并提交表单数据. 请看下面的表单: <form id="fm"> <table> <tr> <td>姓名</td> <td> <input type="text" name="name" /> </td> </tr>

MVC之AJAX异步提交表单

第一种用法: 在MVC中,依然可以使用ajax校验,跟在WebForm中的使用时一样的,唯一的区别就是将以前的URL路劲改为访问控制器下的行为 前台 <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <script src="~/Scripts/jquery-1.8

jquery中$.ajax方法提交表单

function postdata(){                        //提交数据函数 $.ajax({                                //调用jquery的ajax方法 type: "POST",                       //设置ajax方法提交数据的形式 url: "ok.php",                      //把数据提交到ok.php data: "writer=

Jquery技巧:使用ajax技术提交表单数据

新建两个页面: 1.show.jsp:调用ajax,将表单中的数据发送给ajax.jsp页面. 2.ajax.jsp:获取show.jsp页面传递的表单数据,并返回结果. 两个页面的编码格式要设置为GBK:

jquery+ajax验证不通过也提交表单问题处理

这篇文章主要介绍了jquery validationEngine中使用ajax验证不通过也提交表单问题处理,需要的朋友可以参考下 validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式: 1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的. 2 使用ajax提交表单,但是没有使用ajax验证. 这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例