FormData上传文件时要注意什么?
input type="file"
要有name属性属性值=输入框的type值(建议)
根据后端提供的接口参数说明,来设置input name的属性值
上传文件前端很方便,难在后端。
表单中的button默认有一个跳转效果
button type="button"
1.怎么用FormDate搜集表单的值
通过FormData批量搜集表单信息
FormDte的步骤是什么
//收集用户信息
var fd = new FormData(document.ElementById('myForm'));
搜集到的是一个键值对
删除输入框的name值
fd.delete(‘要删掉的输入框name属性值’)
向fd对象添加一个键值对
fd.append(‘phone’,‘131525525555’)
查看fd对象中保存的表单元素的值
fd.get(“表单元素的name属性值”)
console.log(fd.get('userName'))
console.log(fd.get('userPassword'))
原生fd发ajax请求
// 2.向接口发请求
// 当发post时,如果通过formData收集参数,则
// (1)不要设置请求头
// (2)直接把fd对象放在send()中。xhr.send(fd)
var xhr = new XMLHttpRequest();
xhr.open('post', 'http://localhost:3005/common/postapitest')
// xhr.setRequestHeader()
xhr.onload = function () {
console.log(xhr.responseText);
}
xhr.send(fd)
jqueryfd发ajax请求
$.ajax({
type: 'post',
url: 'http://localhost:8000/admin/article_edit',//bug~:服务器接口错误
data: fd,
processData: false,
// 不设置content-type,而是当设置了formdata上传文件的时候,xhr对象会自动把content-type设置为multipart/form-data;
contentType: false,
success: function (data) {
console.log(data);
// 判断添加是否成功...
if (data) {
// 2.5 跳转回首页
location.href = './article_list.html';
} else {
alert(msg)
}
}
});