当前位置: 首页 > wzjs >正文

网站做支付按流量付费淘宝网电脑版登录入口官网

网站做支付按流量付费,淘宝网电脑版登录入口官网,网站前台与后台建设的先后次序,wordpress 左上角w去掉一、Axios 是什么 Axios 是一个基于 promise 网络请求库,作用于 node.js 和浏览器中。 它是 isomorphic 的 ( 即同一套代 码可以运行在浏览器和 node.js 中 ) 。在服务端它使用原生 node.js http 模块 , 而在客户端 ( 浏览端 ) 则使 用 XMLHttpRequest…

一、Axios 是什么

Axios 是一个基于 promise 网络请求库,作用于 node.js 和浏览器中。 它是 isomorphic ( 即同一套代
码可以运行在浏览器和 node.js ) 。在服务端它使用原生 node.js http 模块 , 而在客户端 ( 浏览端 ) 则使
XMLHttpRequests
官网地址:  https://www.axios-http.cn/

二、Axios的特性

  • 从浏览器创建 XMLHttpRequests
  • node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 超时处理
  • 查询参数序列化支持嵌套项处理
  • 自动将请求体序列化为:
  • JSON ( application/json )
  • Multipart / FormData ( multipart/form-data )
  • URL encoded form ( application/x-www-form-urlencoded )
  • HTML Form 转换成 JSON 进行请求
  • 自动转换JSON数据
  • 获取浏览器和 node.js 的请求进度,并提供额外的信息(速度、剩余时间)
  • node.js 设置带宽限制
  • 兼容符合规范的 FormData Blob(包括 node.js
  • 客户端支持防御XSRF

三、安装

使用 npm:
 $ npm install axios

四、请求方式

  • axios.request(config)[]
  • axios.get(url[, config])[]
  • axios.delete(url[, config])[]
  • axios.head(url[, config])[]
  • axios.options(url[, config])
  • axios.post(url[, data[, config]])
  • axios.put(url[, data[, config]])
  • axios.patch(url[, data[, config]])
  • axios.postForm(url[, data[, config]])
  • axios.putForm(url[, data[, config]])
  • axios.patchForm(url[, data[, config]])

详细介绍:

Axios 是一个基于 Promise 的 HTTP 客户端,广泛用于浏览器和 Node.js 环境中。它提供了多种请求方法,每种方法都有其特定的用途和参数配置。以下是这些请求方式的详细介绍:

axios.request(config)

axios.request(config) 是一个通用的请求方法,允许用户自定义请求的所有配置。config 参数是一个对象,包含了请求的 URL、方法、头信息、数据等。

axios.request({method: 'get',url: '/user/12345'
});

axios.get(url[, config])

axios.get(url[, config]) 用于发送 GET 请求。url 是请求的目标地址,config 是可选的配置对象。

axios.get('/user/12345').then(response => console.log(response.data));

axios.delete(url[, config])

axios.delete(url[, config]) 用于发送 DELETE 请求。url 是请求的目标地址,config 是可选的配置对象。

axios.delete('/user/12345').then(response => console.log('User deleted'));

axios.head(url[, config])

axios.head(url[, config]) 用于发送 HEAD 请求。url 是请求的目标地址,config 是可选的配置对象。

axios.head('/user/12345').then(response => console.log(response.headers));

axios.options(url[, config])

axios.options(url[, config]) 用于发送 OPTIONS 请求。url 是请求的目标地址,config 是可选的配置对象。

axios.options('/user/12345').then(response => console.log(response.data));

axios.post(url[, data[, config]])

axios.post(url[, data[, config]]) 用于发送 POST 请求。url 是请求的目标地址,data 是请求体数据,config 是可选的配置对象。

axios.post('/user', {firstName: 'John',lastName: 'Doe'}).then(response => console.log(response.data));

axios.put(url[, data[, config]])

axios.put(url[, data[, config]]) 用于发送 PUT 请求。url 是请求的目标地址,data 是请求体数据,config 是可选的配置对象。

axios.put('/user/12345', {firstName: 'Jane',lastName: 'Doe'}).then(response => console.log(response.data));

axios.patch(url[, data[, config]])

axios.patch(url[, data[, config]]) 用于发送 PATCH 请求。url 是请求的目标地址,data 是请求体数据,config 是可选的配置对象。

axios.patch('/user/12345', {firstName: 'Jane'}).then(response => console.log(response.data));

axios.postForm(url[, data[, config]])

axios.postForm(url[, data[, config]]) 用于发送表单格式的 POST 请求。url 是请求的目标地址,data 是表单数据,config 是可选的配置对象。

axios.postForm('/user', {firstName: 'John',lastName: 'Doe'}).then(response => console.log(response.data));

axios.putForm(url[, data[, config]])

axios.putForm(url[, data[, config]]) 用于发送表单格式的 PUT 请求。url 是请求的目标地址,data 是表单数据,config 是可选的配置对象。

axios.putForm('/user/12345', {firstName: 'Jane',lastName: 'Doe'}).then(response => console.log(response.data));

axios.patchForm(url[, data[, config]])

axios.patchForm(url[, data[, config]]) 用于发送表单格式的 PATCH 请求。url 是请求的目标地址,data 是表单数据,config 是可选的配置对象。

axios.patchForm('/user/12345', {firstName: 'Jane'}).then(response => console.log(response.data));

这些方法提供了灵活的方式来处理不同的 HTTP 请求,使得开发者能够根据具体需求选择合适的请求方式。

五、基本实例

导入axios:
  import axios from 'axios'
GET 请求:
const doGet = ()=>{
alert("Get")
// axios.get("url",{}).then(函数).catch(函数)
// promise 语法 .then .
axios.get("https://apifoxmock.com/m1/5559918-5237013-default/news",{
// params 请求参数
params:{cid:1},
headers:{}
})
// 正常情况 使用then 接受结果
.then((res)=>{
console.log(res.data)
})
// 异常 使用catch处理
.catch(reason=>{
console.log(reason)
})
}
POST 请求:
const doPost = ()=>{
// post("url",data,{})
// axios.post("https://apifoxmock.com/m1/5559918-5237013-default/add",
{username:"aaaa",pwd:"00000"})
// .then(res=>{
// console.log(res.data)
// alert(res.data.msg)
// })
// .catch(reason=>{
// console.log(reason)
// })
axios.request({
url:"https://apifoxmock.com/m1/5559918-5237013-default/add",
data:{u:1,pwd:2},
method:"POST",
headers:{},
params:{}
})
}
跨域:后端方案 - 配置允许跨域
@Configuration
public class AccessControlAllowOriginConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}
前端方案 - 本地服务器代理
项目目录中创建 vue.config.js 内容如下:
module.exports = {
// 开发服务器
devServer: {
port: 8082, // 修改启动端口号
proxy: {
'/api': { // 请求相对路径以 /api 开头的,才会走这里的配置
target: 'http://127.0.0.1:8080', // 这个就是后端地址
changeOrigin: true,
pathRewrite: {
'^/api': '/'
}
}

六、项目封装

src->util->request.js ( 全局配置 )
import axios from "axios";
// 全局配置
const service = axios.create({
// 请求的根路径:一般配置域名
//实际的请求: baseUrl+url
baseURL:"https://apifoxmock.com/m1/5559918-5237013-default",
timeout:5000
})
export default service
每个页面都有很多请求,按照页面划分请求, src->api-> 页面名称 .js ——index.js
import service from "../util/request";
// 配置首页的所有请求
// 首页中 获取新闻列表
export function getNews(params){
return service.request(
{
url:"/news",
params,
method:"GET"
}
)
}
// 首页 获取菜单列表
export function getMenu(params){
return service.get(
"/menu",{
params
}
)
}
页面中使用
const doGet1 = ()=>{
getNews({cid:1}).then(res=>{
console.log(res.data)
})
}

七、拦截

请求拦截:用于登录,所有登录的 api 加上 token。
响应拦截: 统一处理异常:登录失效等等。
代码实例 request.js
import axios from "axios";
// 全局配置
const service = axios.create({
// 请求的根路径:一般配置域名
//实际的请求: baseUrl+url
baseURL:"https://apifoxmock.com/m1/5559918-5237013-default",
timeout:5000
})
// 请求拦截
service.interceptors.request.use(
config => {
console.log("请求拦截,所有请求先经过拦截器!!!!")
// 登录成功 将token 存入 localstorage
// 所有请求 带token(用户标识)
config.headers['token'] = localStorage.getItem('usertoken') || '';
return config
},
error => {
return Promise.reject(error)
}
)
// 响应拦截
service.interceptors.response.use(
response=>{
if(response.data.code=="30000"){
// token失效
// route.push({url:"/login"})
}
},error=>{
}
)
export default service

(* ̄︶ ̄)——课堂笔记更新中...


文章转载自:

http://4FIqmtro.wnnLr.cn
http://6utOqBtv.wnnLr.cn
http://kARf7YOC.wnnLr.cn
http://N3ldtmZ2.wnnLr.cn
http://Em2H3O4i.wnnLr.cn
http://msqvr1W8.wnnLr.cn
http://IrBV8Fg9.wnnLr.cn
http://jmL2HNUM.wnnLr.cn
http://QUZjnbmg.wnnLr.cn
http://xcAiQia5.wnnLr.cn
http://q3vZbCDH.wnnLr.cn
http://purlTxxr.wnnLr.cn
http://xI6AjzTv.wnnLr.cn
http://fJYzTTV2.wnnLr.cn
http://sfmStSWz.wnnLr.cn
http://AfSMKG1d.wnnLr.cn
http://HJ3WYL6M.wnnLr.cn
http://Nn6U6iQm.wnnLr.cn
http://BDTETedy.wnnLr.cn
http://ZBSqakMi.wnnLr.cn
http://DTVDljkt.wnnLr.cn
http://uoQVjznb.wnnLr.cn
http://ReiYJUPz.wnnLr.cn
http://XifBAdWN.wnnLr.cn
http://8cjnHe9a.wnnLr.cn
http://V8oNrHSy.wnnLr.cn
http://liUWxvG2.wnnLr.cn
http://QsfZ3tQ0.wnnLr.cn
http://9AYu9Pqj.wnnLr.cn
http://ZW9Z3B91.wnnLr.cn
http://www.dtcms.com/wzjs/757353.html

相关文章:

  • asp网站开发环境搭建10分钟免费建网站
  • 做网站商业计划书范文广州安全教育平台登录
  • 理财网站方案建设哪个网站做ic好
  • 优质的天津网站建设爬虫搜索引擎
  • 建筑门户网站上海外贸网站开发
  • 花生壳盒子可以做网站服务器做网站什么主题好
  • 3分钟搞定网站seo优化外链建设网站名字备案流程
  • wordpress 多语言网站察隅网站建设
  • 友链网站苏州百姓网免费发布信息网
  • 海口建站模板什么是网站域名?
  • c 网站开发架构廊坊手机网站
  • 肥东网站制作建立健全()和安全生产规章制度
  • 怎么自己做网站盗qq网站建设还流行吗
  • 北京服装网站建设地址免费seo工具
  • 公司网站的功能大气的建筑公司名字
  • 做室内效果图的网站最好免费高清视频下载
  • 网站加载动画效果河南省实名举报
  • 网站需求分析模板橙色的网站模板
  • 商城网站设计公司怎么样米绘设计师服务平台
  • 上海 网站设计 排名免流服务器
  • 好的网站模板网页设计报价单模板
  • 怀化百度整站优化服务游戏 网站模板
  • 学校网站开发系统的背景国内建筑设计公司排名
  • h5网站建设方案.doc品牌建设交流问题有哪些
  • 网站设计 网站推广 网站优化58同城最新招聘
  • 模板网站首页设计软件开发工作稳定吗
  • 网站开发合同里的坑代码编辑器
  • 用wix做外贸网站丽江网页制作公司
  • 广西南宁网站建设公司网站开发和网络安全
  • 网页设计图片如何显示嘉兴做网站seo的