ajax利用FormData进行form post传值
$("input").on("click", function () {var formData = new FormData($("form"));
formData.append("ajax", "1");
formData.append("func", "bind");
formData.append("act", "save");
$.ajax({
data: formData,
type: 'post',
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
console.log(data);
if (data.stat === "ok") {
$(".pwd").parent().append(common.submit + common.success + "!");
} else {
err(data.msg);
}
}
});
return false;
});
以上在C#中通过,弘帝云代码摘录自:cloud.agent.account.contact/contact.js
【jQuery】ajax利用serializer进行form传值
http://wh.ac.cn/forum.php?mod=viewthread&tid=2504&fromuid=1
ASP中如何使用Ajax.FormData
网上没有找到相关的答案,这里演示:$("input").on("click", function () {
var formData = new FormData($("#bind"));
formData.append("ajax", 1);
formData.append("func", "bind");
formData.append("act", "save");
$.ajax({
type: 'post',
data: convert_FormData_to_json(formData),
dataType: "json",
success: function (data) {
console.log(data);
if (data.stat === "ok") {
$(".pwd").parent().append(common.submit + common.success + "!");
} else {
err(data.msg);
}
}
});
return false;
});
var convert_FormData_to_json = function (formData) {
var objData = {};
for (var entry of formData.entries()) {
objData] = entry;
}
return objData;
};
以上在弘帝建站系统客户关系管理绑定会员功能实现,路径:login/js/crm.bind.js
超级简洁:
var formData = new FormData($("form"));
也可以
var formData = new FormData($("#formid"));
追加参数,如
formData.append("ajax",1)
FormData开发中的问题解决
1、提交当前Form办法:$(this).closest("form");避免提交错误的FORM表单而取不到值。2、$.send总是出错,利用hondy.form自带的前端函数,示例:hondy.cloud.console.js.member.js
var FormDataToJson = function (c) {
var h = {};
c.forEach((a, g) => h = a);
return JSON.stringify(h)
},
Submit_FormDataToJSON = function (c) {
var h = {},
a;
for (a of c.entries()) h] = a;
return h
}
分别对应不同的场景,ajax可以使用FormDataToJson,send可以尝试Submit_FormDataToJSON来解决。
3、删除多余的key
// 删除 __VIEWSTATE 字段示例
formData.delete('__VIEWSTATE');
页:
[1]