ajax提交的问题点记录
原始方式是这样的:
var prId = $("#prId").val();
var prNumber = $("#prNumber").val();
var prPrname = $("#prPrname").val();
var prRegion = $("#prRegion").val();
var prPersonid = $("#prPersonid").val();
var prRemarks = $("#prRemarks").val();
var defaultSetting = {
type : "post",
dataType : "json",
async : true,
loadingFlag : true,
traditional: false,
contentType: "application/x-www-form-urlencoded",
processData: true,
data: {
prId: prId,
prNumber: prNumber,
prPrname: prPrname,
prRegion: prRegion,
prPersonid: prPersonid,
prRemarks: prRemarks
},
};
当时试着用form序列化(form.serialize()),没成功映射到对象才那样写的,后来才知道。原来是因为form的input等标签没有name属性导致的。
后来知道了简略版写成这样。
var data=form.serialize()
var defaultSetting = {
type : "post",
dataType : "json",
async : true,
loadingFlag : true,
traditional: false,
contentType: "application/x-www-form-urlencoded",
processData: true,
data: data,
};
如果data的数据是动态的,像更新时候追加属性的情况可以这样写:
var data = $("#form").serializeJson();
$.extend(data, {userId: $(this).data("dataId")});
var defaultSetting = {
type : "post",
dataType : "json",
async : true,
loadingFlag : true,
traditional: false,
contentType: "application/x-www-form-urlencoded",
processData: true,
data: data,
};
当遇到文件上传时候,就要改改了,写成下面这样:
var formData =new FormData($("#editForm")[0]);
formdata.append("dustId", $(this).data("dataId"));
var defaultSetting = {
type : "post",
dataType : "json",
async : true,
loadingFlag : true,
traditional: false,
contentType: "application/x-www-form-urlencoded",
processData: true,
data: formData ,
};
controller层:
public void add(Project project)
用对象接受这样是没问题的。
以上方式是最常见的提交方式。
下面说一种contentType: application/json提交的方法。
这种方式提交文件是不行的
var formdata= $("#editForm").serializeJson()
var defaultSetting ={
url: action,
data: JSON.stringify(formdata),
cache: false,
contentType:"application/json",
processData: false,
async: false
}
controller层接受的时候
public void add(@RequestBody Role role)这样才可以映射到。
ajax提交的问题点记录的更多相关文章
- Ajax 提交KindEditor的数据
这次我是在EasyUI中使用了KindEditor的编辑器,按照官方给的代码,总是无法获取编辑器里面的值(内容),如下: KindEditor.ready(function (K) { ...
- jquery ajax提交表单数据的两种方式
http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...
- ThinkPHP中ajax提交数据
最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了. 闲话少叙,进入正题:我需要从页面 ...
- ajax提交与上传文件同步
我们经常担心文件上传,最烦比,可以推断,我们上传的文件大小,格风格等等一系列的推理验证.所以,我们只能ajax提交验证.ajax异步提交太麻烦,我想太多的变化代码,事实上,我们使用JQuery当插件, ...
- ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据
摘要:最近在写网站,好不容易弄好了需求又变了,没错企业的门户网站硬要弄成后台管理系统一样,没办法作为小工的我只能默默的改.前台HTML页面需要提交数据到后台处理,又不能用form表单,于是乎研究了1天 ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
- jquery实现ajax提交表单信息
最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交.本人没有完整性学习jquery,基本上是现学现找,有点困难. 主要是扩展和拼接json转对象 很简单,附上代码: ; ...
- ajax提交form表单
1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...
- 【ajax 提交表单】多种方式的注意事项
在业务中,可能因为表单内容过于庞大,字段过于繁杂,如果人为去拼接的话 ,需要耗费大量的时间和精力,与此同时,代码看上去也是冗余不堪. 所以,提交表单的时候如果能整个表单数据整体提交,那是非常开心的事情 ...
随机推荐
- Git常用命令--了解这些就够了
<div class="show-content-free"> <blockquote> Csdn 将本地工程push到远程 方式一: 建立本地仓库 git ...
- Hive之函数与自定义函数
系统自带的函数 1)查看系统自带的函数 hive> show functions; 2)显示自带的函数的用法 hive> desc function upper; 3)详细显示自带的函数的 ...
- Hive的架构原理&Hive的安装步骤
Hive架构图 元数据默认数据库是:Derby.开发使用MySQL Hive如何将SQL语句翻译成MapReduce的? 1.使用SQL解析器解析SQL语句 2.使用编译器进行编译逻辑 3.使用优化器 ...
- 使用nvm管理多个不同版本的nodeJS之安装成功nodeJs之后使用npm报错的问题
使用nvm安装nodeJS之后,node -v命令可以正常使用,但是npm命令一直报“npm不是内部命令”的错误,深入研究之后得到以下解决方案: 搭建步骤: (1)下载nvm https://gi ...
- python函数对象-命名空间-作用域-02
函数对象 函数是第一对象: # 函数名指向的值可以被当做参数传递 函数对象的特性(*****灵活运用,后面讲装饰器会用到) 函数名可以像变量一样被传递 # 变量可以被传递 name = 'jason' ...
- 172. 阶乘后的零 Java解法
https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 172. 阶乘后的零 这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的 ...
- jsp对数据库的使用
JDBC由Sun公司制定,全称JavaDataBase Connectivity,是一种可以执行SQL语句并可返回结果的javaAPI,支持多种关系型数据库,封装在Java.sql.* 它的具体位置在 ...
- T-SQL 小全
--====================================================== ----数据库概念:创建.删除.使用数据库 ----================= ...
- 工业物联网网关在线探测之TraceRoute
佰马工业物联网网关BMG500在线探测通常有Ping.DNS.TraceRoute三种技术方式,这三种方式的区别与联系是什么?本文着重介绍工业物联网网关在线探测的工作原理,以图文形式介绍无线网关在线探 ...
- RocketMQ中Broker的启动源码分析(一)
在RocketMQ中,使用BrokerStartup作为启动类,相较于NameServer的启动,Broker作为RocketMQ的核心可复杂得多 [RocketMQ中NameServer的启动源码分 ...