vue axios请求后台接口code返回200,但是没有返回数据,请问为什么?

作者站长头像
站长
· 阅读数 11

请求的接口信息:

vue axios请求后台接口code返回200,但是没有返回数据,请问为什么?

没有返回东西:

vue axios请求后台接口code返回200,但是没有返回数据,请问为什么?

控制台报错:

vue axios请求后台接口code返回200,但是没有返回数据,请问为什么?

前端代码:

import axios from 'axios'import { baseURL, taskURL } from './resource'// 3.ES6 Promise 封装方式export function request(options) {

return new Promise((resolve, reject) => {
    // 1.创建 axios 的实例对象
    const instance = axios.create({
            baseURL: baseURL,
            // method:"post",
            timeout: 300000,
            withCredentials: true
            // timeout: 50000
        })
        // alert( baseURL)
        // 3.过滤器(拦截器)
    instance.interceptors.response.use(res => {
        return res.data
    }, err => {
        console.log('来到了response拦截failure中');
        console.log('err', err);
        if (err && err.response) {
            switch (err.response.status) {
                case 400:
                    err.message = '请求错误'
                    break
                case 401:
                    err.message = '未授权的访问'
                    break
            }
        }
        return err
    })
    // 2.通过实例发送网络请求
    instance(options).then(res => {
        resolve(res)
    }).catch(err => {
        reject(err)
    })
})

}

求大家帮个忙看看到底是哪里问题,要怎么修改,谢谢

回复
1个回答
avatar
test
2024-06-27

跨域了。

而且错误信息不都明明白白的告诉你原因、以及怎么修改了吗?

answer image

你用了 withCredentials,那么 Access-Control-Allow-Origin 就不能是通配符 *,只能是指定的域。

你要是没有 Cookies 需要携带,那就别 withCredentials;你要非得用 withCredentials,那就叫后端去改。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容