formdata如何使用?
场景
开发商场站时 利用隐藏域将用户的下单有关信息 提交至后台
由于 隐藏域 信息 太多,所以使用formdata对象直接将 数据打包 发送,这里记录下 使用注意事项
踩到的坑 :
没有禁用jquery的数据处理功能 导致后台接受到的数据 无法使用
function submit_Order()
{
//读取信息
var hiddenForm = new FormData() //创建FormData对象
//说明 : FormData 还有个重载的构造函数,允许直接传入一个表单的DOM
$('#form-hidden :input:hidden').each(function(i,obj){
//使用append方法 append(key,value)
hiddenForm.append(obj.name,obj.value) //使用append方法 结合each 添加数据
//说明 要查看添加的数据是否存在 应该 使用 hiddenForm.get(key) 查看
})
//提交数据
$.ajax({
url : "****",
type : "post",
dataType : 'json',//服务端返回的数据类型
data : hiddenForm,//发送formdata对象
//由于XMLHttpRwquest可以处理 FormData对象
//所以这里要做以下几个操作
cache: false,.//由于信息涉及到隐私,禁止浏览器将数据缓存(根据需求使用)
processData: false, //告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头"application/x-www-form-urlencoded",//直接用对象接收时,必须这么写;若要发送json格式数据,可写成“application/json”,用注解@RequestBody String str接收
success : function(_json_)
{
/*
逻辑代码
*/
}
)}
}