实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie

1-使用npm install axios;命令安装axios
2-新建一个文件夹再建一个.js后缀文件放axios封装代码

代码:
import Vue from ‘vue’
import axios from ‘axios’

// create an axios instance
const service = axios.create({
baseURL: ‘https://simplicity.sankuanedu.com’, // url = base url + request url
//withCredentials: true, // send cookies when cross-domain requests 注意:withCredentials和后端配置的cross跨域不可同时使用
timeout: 6000, // request timeout
crossDomain: true
})

// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
config => {
// if (store.state.token) {
// // 给请求头添加user-token
// config.headers[“user-token”] = store.state.token;
// }
console.log(‘请求成功’)
return config;
},
error => {
console.log(error); // for debug
return Promise.reject(error);
}
);

//配置成功后的拦截器
// service.interceptors.response.use(res => {
// if (res.data.status<=350) {
// return res.data
// } else {
// return Promise.reject(res.data.msg);
// }
// }, error => {
// if (error.response.status) {
// switch (error.response.status) {
// case 401:
// break;
// default:
// break;
// }
// }
// return Promise.reject(error)
// })

// 在main.js中放入这段自定义适配器的代码,就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
axios.defaults.adapter = function(config) {
return new Promise((resolve, reject) => {
console.log(config)
var settle = require(‘axios/lib/core/settle’);
var buildURL = require(‘axios/lib/helpers/buildURL’);
uni.request({
method: config.method.toUpperCase(),
url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete(response) {
console.log(“执行完成:”,response)
response = {
data: response.data,
status: response.statusCode,
errMsg: response.errMsg,
header: response.header,
config: config
};

            settle(resolve, reject, response);}})
})

}
export default service

图片:

3-在main.js中放入这段自定义适配器的代码,就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
代码:
import axios from ‘./utils/axios.js’
Vue.prototype.$axios = axios
axios.defaults.adapter = function(config) {
return new Promise((resolve, reject) => {
console.log(config)
var settle = require(‘axios/lib/core/settle’);
var buildURL = require(‘axios/lib/helpers/buildURL’);
uni.request({
method: config.method.toUpperCase(),
url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete(response) {
console.log(“执行完成:”,response)
response = {
data: response.data,
status: response.statusCode,
errMsg: response.errMsg,
header: response.header,
config: config
};

            settle(resolve, reject, response);}})
})

}
图片:

--------------------------------------------不是本人写的,作者链接找不到了,所以自己备份一份,已测可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
**--------------------------------------------

实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie相关推荐

  1. java写微信小程序答辩问题_微信小程序 开发中遇到问题总结

    微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...

  2. 微信小程序开发中常见问题及解决方法

    本文章总结小程序开发中常见的错误问题.希望能帮助初学者少走弯路,避免类似的错误. 1:出现"脚本错误或者未正确调用Page()"的错误提示. 解决方法:出现这个错误的原因通常是因为 ...

  3. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  4. 关于微信小程序开发中遇到的缺少game.json问题的解决

    关于微信小程序开发中遇到的缺少game.json问题的解决 参考文章: (1)关于微信小程序开发中遇到的缺少game.json问题的解决 (2)https://www.cnblogs.com/ygxd ...

  5. 解决微信小程序开发中wxss中不能用本地图片

    微信小程序开发中wxss中不能用本地图片,我们可以用将我们的图片传到服务器上,然后直接引用在线地址.但是当我们没有服务器时,我们可以用"图床",这个具体可以百度.这里我们用第二种方 ...

  6. 微信小程序页面栈_微信小程序开发中的页面栈及页面路由原理

    摘要:小程序的开发方兴未艾,本文以图解的形式详细剖析了小程序开发中的页面栈及页面路由原理,对于该原理的深入理解有助于开发者更好地理解小程序的开发框架,更好地开发出功能强大的小程序. 微信小程序(以下简 ...

  7. 微信小程序开发中遇到的一些问题

    1.关于Promise对象的打印 上面一个是高版本的基础库打印,下面一个是低版本的基础库打印 2.小程序打开项目控制台警告:VM745:1 [Event] 11 listeners of event ...

  8. uniapp之APP/微信小程序/公众号支付

    涉及到微信支付的都需要从后端接口获取支付配置信息: await this.$http({apiName:"wxPayConfig",type:"POST",da ...

  9. 微信小程序开发中30个常见问题解决方案

    在小程序开发时需要注意哪些问题才可以避免走弯路呢?本文整理了30条常见问题,让开发者尽可能的绕开弯路 微信小程序在支持个人开发者后,一大批程序员从一条布满雷区的道路,跳到了另一条布满陷阱的坑路.许多人 ...

最新文章

  1. EM算法(Expectation Maximization)期望最大化算法
  2. [Hibernate] - Annotations - One To One
  3. Exception in thread http-bio-80exec-1 java.lang.OutOfMemoryError: PermGen s解决方案
  4. linux哪个命令可以切换工作目录?如何显示当前所在的目录,Linux cd命令:切换目录...
  5. SQL基础【十六、Union】
  6. C语言 计算结构体大小
  7. vc 通过句柄修改窗口大小_漫画:对象是如何被找到的?句柄 OR 直接指针?
  8. C/C++入门的精髓!太全了吧,收藏夹的必备
  9. 设置mysql为utf-8_如何设置mysql数据库为utf-8编码
  10. 小鹏汽车9月总交付10412台 成为新造车势力中第一家月交付过万的企业
  11. ipython控制台 绘图 后端_如何面试Python后端工程师?
  12. 电脑连接的手机真机,利用Chrome调试WebView
  13. python花瓣网_花瓣网花瓣爬虫
  14. solaris 命令大全
  15. 腾讯下载的视频怎么转换成mp4格式
  16. 坠落弹球(Bouncing off the walls)
  17. 几种常见的注册中心以及区别
  18. python-docx获取word的自动编号
  19. 〖Python自动化办公篇⑫〗- Excel 文件自动化 - 读取 excel 数据
  20. 计算机网络 一种自上而下的方法,计算机网络-自上而下-和-自下而上-两种教学方法比较分析.pdf...

热门文章

  1. 目标检测之Loss:FasterRCNN中的SmoothL1Loss
  2. Leaflet中的L.geoJSON一个坑
  3. LoRaWAN介绍10 定位
  4. 安卓View可见,不可见,隐藏。
  5. 数据科学家是不是特有前途的职业?
  6. 黑马程序员——ios面试学习一:Mac系统使用教程——黑马 ios 技术博客
  7. 模拟人脑算什么,AI“扮”狗脑了解一下?
  8. 转载CS231n课程学习笔记
  9. 通讯常识笔记:计算机通讯技术之开放式系统互联
  10. httPs//yy7com/a1phP,header.php