FormData、封装Ajax1
FormData
1、使用Ajax提交表单
2、FormDate的基本用法
通过HTML表单元素创建FormDate对象
const fd = new FormDate(表单元素);
xhr.send(fd);
通过append()方法添加数据
const fd = new FormDate(表单元素)
fd.append(' age ',18);
fd.append(' sex ',' male ');
xhr.send( fd );
IE10及以上可以支持
封装Ajax1
Ajax类
class Ajax{
constructor(url,options)
this.url = url;
this.options = Object.assgin({},
DEFAULTS,options);
初始化
this.init();
}
初始化
init(){
const xhr = new XMLHttpRequest();
this.xhr = xhr;
this.bindEvents();
}
绑定事件响应
bindEvents(){
const xhr = this.xhr;
xhr.addEventListener(
' load ',
()=> {
if((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304){
}else{
httpCondeError(xhr.status,xhr);
}
},
false
);
}
error
当请求遇到错误时,将触发error事件
xhr.addEventListener(
' error ',
()=>{
error(xhr);
},
false
);
abort
xhr.addEventListener(
' abort',
()=>{
abort(xhr);
},
false
);
检测响应的HTTP状态码是否正常
ok(){
const xhr = this.xhr;
returun(xhr.status >= 200 && xhr.status < 300) || xhr.status === 304;
}