html5表单提交json数据库,使用html5的FormData对象,通过 Ajax表单异步提交文件数据...

本文介绍如何使用JavaScript的FormData对象简化异步表单提交,尤其在处理二进制文件上传时,对比传统Ajax方法,它提供了更直观的API。通过实例展示了FormData的使用和XMLHttpRequest的配合,以及处理服务器响应的基本流程。
摘要由CSDN通过智能技术生成

每次在向服务器提交文件对象数据是,总是需要借助各种三方插件来实现表单异步提交功能,还要为不同的界面去定制不同的插件css,相当繁琐。XMLHttpRequest Level 2 添加了一个新的接口——FormData。利用 FormData 对象,我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件,我们还可以使用 XMLHttpRequest 的 send() 方法来异步的提交表单。与普通的 Ajax 相比,使用 FormData 的最大优点就是我们可以异步上传二进制文件。

话不多说直接上代码:var formData = new FormData();

formData.append('template', that.template);

formData.append('declare', that.declareData.declare);

formData.append('self_intro', that.declareData.self_intro);

formData.append('plan_name', that.declareData.plan_name);

//$("#business_plan") 是一个file类型的input对象

formData.append('business_plan', $("#business_plan")[0].files[0]);

var xhr = new XMLHttpRequest();

xhr.open('POST', url, true);

xhr.setRequestHeader("Accept", "application/json");

xhr.send(formData);

// 指定通信过程中状态改变时的回调函数

xhr.onreadystatechange = function () {

// 通信成功时,状态值为4

var completed = 4;

if (xhr.readyState === completed) {

if (xhr.status === 200) {

// 处理服务器发送过来的数据

var result = JSON.parse(xhr.responseText);

//这里你可以随意的处理这个result对象了

//...

} else {// 处理错误

alert('连接超时');

}

}

};

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值