ajax提交的问题点记录

Posted 红色沙漠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 提交图片方法

如何删除 Git 仓库中的历史提交记录

我正在开发一个向数据库提交信息的 AJAX 表单。当它到达插入函数时,它正在记录一个错误

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。

Ajax在Mysql数据库中插入重复记录

使用 jQuery 提交表单 [关闭]