网站建设与管理专业就业,除了百度指数还有哪些指数,网站建设利润 有多少,博物馆网站建设必要性目录
◆ AJAX 概念和 axios 使用
什么是 AJAX#xff1f;
怎么发送 AJAX 请求#xff1f;
如何使用axios
axios 函数的基本结构
axios 函数的使用场景
1 没有参数的情况
2 使用params参数传参的情况
3 使用data参数来处理请求体的数据
4 上传图片等二进制的情况…目录
◆ AJAX 概念和 axios 使用
什么是 AJAX
怎么发送 AJAX 请求
如何使用axios
axios 函数的基本结构
axios 函数的使用场景
1 没有参数的情况
2 使用params参数传参的情况
3 使用data参数来处理请求体的数据
4 上传图片等二进制的情况
form-serialize 插件 ◆ AJAX 概念和 axios 使用
什么是 AJAX 概念AJAX 是浏览器与服务器进行数据通信的技术 怎么发送 AJAX 请求
1. 使用 axios [æk‘sioʊs] 库
基于 XMLHttpRequest 封装、代码简单 Vue、React 项目中都会用到 axios
2. 使用 XMLHttpRequest 对象 如何使用axios
语法
1. 引入 axios.js
在线引入 https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js --axios在线库本地引入下载好axios文件使用相对路径引入
2. 使用 axios 函数 axios 函数的基本结构
url
这个参数是必须的里面填的是请求的url地址
method
这个参数是可选的默认请求的是GET方法参数内容不区分大小写
params
这个参数主要是替代以前的字符串拼接的方法填在params里面的参数会以字符串拼接的方式将参数凭借到url地址上。但这里会对参数值进行url编码
data
这个参数主要是用于接收请求体或者二进制参数所以如果参数是表单数据或者二进制数据需要使用data这个对象来接收
axios的回调处理--then()函数
这个函数主要是处理axios请求成功后返回的数据数据里面接收一个回调函数 axios的回调处理--catch()函数
这个函数主要是处理axios请求失败后返回的数据数据里面接收一个回调函数 axios 函数的使用场景
前提条件成功的引入了js的依赖后 1 没有参数的情况
//场景1无参数的请求
//不填请求方法参数默认是GET请求axios({url: http://hmajax.itheima.net/api/province}).then(function(result){//请求成功调用console.log(result);}).catch(function(error){//请求异常调用console.log(error);}) 2 使用params参数传参的情况
//场景2使用params参数的请求axios({url: http://hmajax.itheima.net/api/city,params: {pname: 辽宁省}}).then(function(result){//请求成功调用console.log(result);}).catch(function(error){//请求异常调用console.log(error);}) 使用箭头函数来替代匿名函数 3 使用data参数来处理请求体的数据
当请求方法是post方法时参数会以请求体的方式向服务器提交 // 场景3 使用data参数来处理请求体的数据axios({url: http://hmajax.itheima.net/api/register,method: post,data: {username: jack12345,password: 123456}}).then(result{//请求成功调用console.log(result);}).catch(error{//请求异常调用console.log(error);}) 4 上传图片等二进制的情况
1. 获取图片文件对象2. 使用 FormData 携带图片文件3. 提交表单数据到服务器使用图片 url 网址
!DOCTYPE html
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title/head
body!-- 文件选择元素 --input typefile classuploadimg src altscript srchttps://cdn.jsdelivr.net/npm/axios/dist/axios.min.js/scriptscript//场景1无参数的请求// axios({// url: http://hmajax.itheima.net/api/province// }).then(function(result){// //请求成功调用// console.log(result);// }).catch(function(error){// //请求异常调用// console.log(error);// })//场景2使用params参数的请求// axios({// url: http://hmajax.itheima.net/api/city,// params: {// pname: 辽宁省// }// }).then(function(result){// //请求成功调用// console.log(result);// }).catch(function(error){// //请求异常调用// console.log(error);// })// // 场景3 使用data参数来处理请求体的数据// axios({// url: http://hmajax.itheima.net/api/register,// method: post,// data: {// username: jack12345,// password: 123456// }// }).then(result{// //请求成功调用// console.log(result);// }).catch(error{// //请求异常调用// console.log(error);// })//4 上传图片等二进制的情况//1. 获取图片文件document.querySelector(.upload).addEventListener(change,(e){// console.log(e.target.files); //2. 使用 FormData 携带图片文件const fd new FormData()// append() 追加元素fd.append(img,e.target.files[0])//使用ajax提交数据axios({url: http://hmajax.itheima.net/api/uploadimg,method: post,data: fd}).then(result{console.log(result);// console.log(result.data.data.url);document.querySelector(img).src result.data.data.url}).catch(error{console.log(error);})})/script
/body
/html 在日常的开发中基本大概是这四种常见的情况学会用这几种基本上可以解决问题 form-serialize 插件
作用快速收集表单元素的值
使用
1 获取表单对象2 使用serialize函数快速收集表单元素的值 !DOCTYPE html
html langenheadmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title13.form-serialize插件使用/titlescript src./lib/form-serialize.js/script
/headbodyform actionjavascript:; classexample-forminput typetext nameunamebrinput typetext namepwdbrinput typebutton classbtn value提交/form!-- 目标在点击提交时使用form-serialize插件快速收集表单元素值--script//为提交按钮设置监听事件document.querySelector(.btn).addEventListener(click, () {//使用插件快速获取表单元素值/*** 2. 使用serialize函数快速收集表单元素的值* 参数1要获取哪个表单的数据* 表单元素设置name属性值会作为对象的属性名* 建议name属性的值最好和接口文档参数名一致* 参数2配置对象* hash 设置获取数据结构* - trueJS对象推荐一般请求体里提交给服务器* - false: 查询字符串* empty 设置是否获取空值* - true: 获取空值推荐数据结构和标签结构一致* - false不获取空值*/const form document.querySelector(.example-form)const data serialize(form,{hash:true,empty:true})console.log(data);})/script
/body/html