axios请求三方API跨域,用原生的ajax正常

用axios 请求第三方接口会报跨域,但是用原生的ajax却是可以正常访问的
报错图片
当时考虑是跨域问题,用到了proxyTable,是可以的,但是在生产环境却又出现了问题,找nginx配置相关 proxy_pass
这里是个大坑,我的配置是
// ‘/api’:{
// target: ‘http://127.0.0.1:8997’,
// changeOrigin:true,
// },
奈何这样配置的意思是转发到该服务器的8997端口,而不是我安装的第三方应用内的接口,思来想去,还是得直接调用http://127.0.0.1:8997,这个接口,报错跨域,忽然如有神助,想着是用axios不行,用原生的ajax行不行,试完惊呆了,竟然可以调通,原来是自己考虑多了,这时从网上搜素为什么axios请求三方API跨域,用原生的ajax正常
网上朋友有人说可能是axios设置了全局的axios.defaults.withCredentials = true,//表示跨域请求时是否需要使用凭证
污染了整个axios环境,需要将axios私有化
const service = axios.create({
baseURL: base url + request url
withCredentials: true,
timeout: 5000 // request timeout
})
这样一来,不会污染整个axios,瞬间豁然开朗了起来

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值