美文网首页
异步请求那点事儿

异步请求那点事儿

作者: MF_遇见零一 | 来源:发表于2018-12-29 16:02 被阅读0次

fetch

get 请求

默认请求方式,不能传参

fetch('https://api.ip.sb/geoip')
  .then(res => res.json())
  .then(data=>console.log(data))
  .catch(err => console.warn(err))

post 请求

参数为字符串类型

fetch('http://api.komavideo.com/news/list', {
  method: 'POST',
  body: JSON.stringify({
    pageSize: 10,
    pageIndex: 1,
    copyright: 'osc'
  })
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.warn(err))

axios

get请求

this.$axios.get('/api/system/indexinfo',{
  params: {  
    id: 12345,
    name: user
  }
})
.then(res => {
  console.log(res)
})
.catch(error => {
  console.log(error)
})

post请求

this.$axios.post('/api/members/register', {
  phone: '18770043048',
  password: '123456a',
  inviterCode: '123456'
})
.then(res => console.log(res))
.catch(error => console.log(error))

拦截器

request拦截

axios.interceptors.request.use(
 config => {
  config.baseURL = '/api/'
  config.withCredentials = true // 允许携带token ,这个是解决跨域产生的相关问题
  config.timeout = 6000
  let token = sessionStorage.getItem('access_token')
  let csrf = store.getters.csrf
  if (token) {
   config.headers = {
    'access-token': token,
    'Content-Type': 'application/x-www-form-urlencoded'
   }
  }
  if (config.url === 'refresh') {
   config.headers = {
    'refresh-token': sessionStorage.getItem('refresh_token'),
    'Content-Type': 'application/x-www-form-urlencoded'
   }
  }
  return config
 },
 error => {
  return Promise.reject(error)
 }
)

response 拦截

axios.interceptors.response.use(
 response => {
  // 定时刷新access-token
  if (!response.data.value && response.data.data.message === 'token invalid') {
   // 刷新token
   store.dispatch('refresh').then(response => {
    sessionStorage.setItem('access_token', response.data)
   }).catch(error => {
    throw new Error('token刷新' + error)
   })
  }
  return response
 },
 error => {
  return Promise.reject(error)
 }
)

相关文章

  • 异步请求那点事儿

    fetch get 请求 默认请求方式,不能传参 post 请求 参数为字符串类型 axios get请求 pos...

  • OKHTTP

    OKHTTP 引用 权限配置 测试URL 同步请求 异步请求 异步get请求 异步测试post请求 Retrofi...

  • AFN异步单任务请求和异步多任务请求

    此处介绍AFNetingWorking 异步单任务请求和异步多任务请求的两种方式。 为什么要使用异步请求 异步请求...

  • Okhttp3

    简介 配置 请求思路 get请求思路 post请求思路 get,post 同步和异步请求 异步请求(get) 同步...

  • 1.2 网络请求-异步请求

    网络请求-异步请求

  • 基于Spring框架实现异步请求与异步调用

    一、异步请求 1.1 同步请求与异步请求 首先看一下同步请求的线程执行模型: 接着看一下异步请求的线程执行模型: ...

  • okhttp分析

    okhttp使用分为同步请求和异步请求:异步请求: request是一个请求对像,包含了请求url,methord...

  • 网络协议

    网络请求分为4类:GET同步请求GET异步请求POST同步请求POST异步请求 同步网络请求步骤: 1:创建网址字...

  • iOS原生网络请求-"连接"与"会

    1.NSURLConnection 1.1 get 异步请求 1.2 post 异步请求 1.3 post 同步请...

  • IntentService和HandlerThread

    IntentService 概述 处理异步请求的Service 客户端使用startService()发送异步请求...

网友评论

      本文标题:异步请求那点事儿

      本文链接:https://www.haomeiwen.com/subject/whqplqtx.html