vue项目中用了axios的get请求,返回的状态码是200,浏览器有数据,但是怎样获取?

发布于 2022-09-07 16:41:53 字数 1826 浏览 8 评论 0

在vue项目中,用的是axios的get方法请求 金山词霸每日一句api
返回的状态码是200,而且有响应数据,如图:

clipboard.png

clipboard.png

但是浏览器却报跨越拦截,如图:

clipboard.png

然后index.js文件中dev的设置:

proxyTable: {
      '/api':{
        target:"https://open.iciba.com/",
        changeOrigin:true,
        pathRewrite: {'^/api' : '/'}
      }
    },

接着是组件Cart.vue的部分代码:

// 放在mounted函数里的 axios 拦截器
// request 
this.$axios.interceptors.request.use((config)=>{
    config.withCredentials = true;
    console.log("request init...");
    console.log(config)
    config.headers={
        "Content-Type":"application/x-www-form-urlencoded"
    }
    return config;
})
// response 
this.$axios.interceptors.response.use((response)=>{
    console.log("response init...");
    console.log(response);
    return response;
})
// axios的get请求
methods: {
        get(){
            var me = this;
            var date =  new Date();
            var year = date.getFullYear() + '-';
            var month = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() +1) + '-';
            var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
            var now = year+month+day;
                
            me.$axios.get('/dsapi',{
                params:{
                    date:now // 年-月-日
                }
            }).then(res=>{
                console.log(res)
            })
        },
}

这是怎么回事,浏览器的network查看得到数据,却无法获取,求解决方法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

提赋 2022-09-14 16:41:53

就是跨域了, 前端可以用jsonp请求

import jsonp from 'jsonp';

jsonp('https://open.iciba.com/dsapi/?date=2018-07-11', null, (err, data) => {
  console.log(data)
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文