form表单和文件上传
以GET的方式提交表单数据
在<form,标签上,通过action属性指定提交的url地址,通过method属性指定提交的方式为get。注意:由于method属性的默认值就是get,因此method = 'get'可以被省略
以post方式提交表格
在<form,标签上,通过action属性指定提交的url地址,通过method属性指定提交的方式为post。并通过enctype属性指定数据的编码
表单提交的问题
产生问题的原因:form表单简直数职,既负责采集数据,又赋值把数据提交到服务器,表单的默认提交行为会导致页 面的跳转。
解决:form表单只负责采集数据,Ajax负责将数据提交到服务器,符合职能单一的原则 通过ajax提交表单数据
1.监听表单的submit提交事件
2.阻止默认提交行为
3.基于axios发起请求
4.指定请求方式,请求地址
5.指定请求体数据
在使用serialize()函数快速获取表单数据时,必须为每个表单域添加name属性!
serialize()函数的其他特点
1.使用serialize(),各个表单必须有name属性
2.使用改方法得到的结构是一个查询字符串结构:name=value&name=value
3.该方法能够获取隐藏域的值
4.该方法不能得到禁用状态的值
5.该方法不能得到文件域中的文件信息,所以不能完成文件上传
axios请求方法的别名
为了简化开发者的使用过程,axios为所有支持的请求方法提供了别名:
1.axios.get(url , config)
2.axios.delete(url , config)
3.axios.post(url,data,config)
4.axios.put(url,data.config)
5.axios.patch(url,data,config)
axios.get()的用法
axios.post()的用法
基于axios提供的固定配置,即可轻松配置请求的跟路径,语法
:axios.defaults.baseURL = '请求根路径'
拦截器
拦截器(interceptors)用来全局拦截axios的每一次请求域响应。
好处:可以把每个请求中,默写重复性的业务代码封装到拦截器中,提高代码的复用性
使用拦截器实现loading效果