原始方式是这样的:

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提交的问题点记录的更多相关文章

  1. Ajax 提交KindEditor的数据

    这次我是在EasyUI中使用了KindEditor的编辑器,按照官方给的代码,总是无法获取编辑器里面的值(内容),如下:         KindEditor.ready(function (K) { ...

  2. jquery ajax提交表单数据的两种方式

    http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...

  3. ThinkPHP中ajax提交数据

    最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了. 闲话少叙,进入正题:我需要从页面 ...

  4. ajax提交与上传文件同步

    我们经常担心文件上传,最烦比,可以推断,我们上传的文件大小,格风格等等一系列的推理验证.所以,我们只能ajax提交验证.ajax异步提交太麻烦,我想太多的变化代码,事实上,我们使用JQuery当插件, ...

  5. ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据

    摘要:最近在写网站,好不容易弄好了需求又变了,没错企业的门户网站硬要弄成后台管理系统一样,没办法作为小工的我只能默默的改.前台HTML页面需要提交数据到后台处理,又不能用form表单,于是乎研究了1天 ...

  6. javascript表单的Ajax 提交插件的使用

    Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...

  7. jquery实现ajax提交表单信息

    最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交.本人没有完整性学习jquery,基本上是现学现找,有点困难. 主要是扩展和拼接json转对象 很简单,附上代码: ; ...

  8. ajax提交form表单

    1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...

  9. 【ajax 提交表单】多种方式的注意事项

    在业务中,可能因为表单内容过于庞大,字段过于繁杂,如果人为去拼接的话 ,需要耗费大量的时间和精力,与此同时,代码看上去也是冗余不堪. 所以,提交表单的时候如果能整个表单数据整体提交,那是非常开心的事情 ...

随机推荐

  1. Java_异常介绍

    今日内容介绍: 掌握异常概述 理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 理解声明抛出异常 掌握自定义异常 掌握异常处理注意事项 异常 什么是异常?Java代码在运行时期发生的问题就是 ...

  2. 装饰器和"开放-封闭"原则

    装饰器和"开放-封闭"原则 "开放-封闭"原则 软件开发中的"开放-封闭"原则,它规定已经实现的功能代码不应该被修改,但可以被扩展,即: 封 ...

  3. 熟悉软件的生命周期AND测试工程师的工作流程

    1.软件的生命周期 *软件生命周期(SDLC)是软件开始研制到最终被废弃不用所经历的各个阶段.在不同阶段里,由不同的组织.个人和资源进行着明确的任务. 2.生命周期的模型 *常见的生命周期模型有:瀑布 ...

  4. Thinkphp 3.2.3 parseWhere设计缺陷导致update/delete注入 分析

    目录 分析 总结 分析 首先看一下控制器,功能是根据用户传来的id,修改对应用户的密码. 13行把用户传来的id参数送入where()作为SQL语句中的WHERE语句,将pwd参数送入save()作为 ...

  5. Python基础总结之第十天开始【认识一下python的另一个数据对象-----字典】(新手可相互督促)

    看了大家的评论,还是有意外的收货.感谢每个小伙伴的评论与补充. 众人拾柴火焰高~ 今天的笔记是记录python中的数据对象----字典! 前面有讲到list列表和tuple元组的笔记,他们都是一样可以 ...

  6. 从CNI到OVN

    kubernetes各版本离线安装包 诸如calico flannel等CNI实现,通过牺牲一些功能让网络复杂度得以大幅度降低是我极其推崇的,在云原生时代应用不再关心基础设施的场景下是一个明智之举,给 ...

  7. python利用select实现的Socket Server

    # 利用python的select模块实现简单的Socket Sever #实现多用户访问,再次基础上可以实现FTP Server应用程序 # 发布目的,在于解决了客户端强行终止时,服务器端也跟着程序 ...

  8. Windows下安装python2与python3以及分别对应的virtualenv

    第三次装python2与python3 除此之外还学会了如何在命令行复制代码1.单击右键2.菜单中选择标记3.按住左键选中需要复制的内容4.松开左键5.单击右键 全局中python版本为python2 ...

  9. 最全数据分析资料汇总(含python、爬虫、数据库、大数据、tableau、统计学等)

    一.Python基础 Python简明教程(Python3) Python3.7.4官方中文文档 Python标准库中文版 廖雪峰 Python 3 中文教程 Python 3.3 官方教程中文版 P ...

  10. Drawable与 Bitmap 转换总结

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android Drawable 使用方法详解请看上篇文章. Drawable 使用方法详解 本篇 ...