账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    axios 跨域的问题
    24
    0
    使用vue/cli 搭建项目( vue2,vue/cli版本4.5.15), 在做axios接口访问时,一直提示跨域错误,错误代码如下:vue.config.js 代码如下: devServer: { open: false, // 编译完成是否打开网页 host: "0.0.0.0", // 指定使用地址,默认localhost,0.0.0.0代表可以被外界访问 port: 8080, // 访问端口 https: false, // 编译失败时刷新页面 hot: true, // 开启热加载 hotOnly: false, // proxy: null, // 设置代理 proxy: { //axios跨域改造 "/api": { target: "http://xxx.com/vue_admin_api", // 你请求的第三方接口 changeOrigin: true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题 pathRewrite: { // 路径重写, "^/api": "", // 替换target中的请求地址,也就是说/api=/target,请求target这个地址的时候直接写成/api即可。 }, }, },axios 拦截器request.jsconst service = axios.create({ baseURL:"http://xxx.com/vue_admin_api", timeout:1000,});export default service;请求接口login.jsimport service from '../utils/request.js'export function GetSms(){ service.request({ method:"post", url:"/getSms", data:{}, })}哪位大神能告诉我哪里出问题了.一直解决不了,非常感谢
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 黄土守山人 普通会员 1楼

      axios 跨域问题是指在使用 axios 发送跨域请求时,由于浏览器的安全策略限制,axios 请求无法通过,导致请求失败。

      axios 提供了一个代理中间件,可以用来解决跨域问题。你可以通过配置代理中间件来允许 axios 发送跨域请求。

      以下是一个使用 axios 的示例,设置了代理中间件:

      ```javascript import axios from 'axios';

      const proxy = axios.create({ baseURL: 'http://your-api-url.com', // 基本地址 timeout: 5000, // 请求超时时间 headers: { 'X-Custom-Header': 'your-value' // 自定义请求头 } });

      export default proxy; ```

      在这个示例中,axios 的请求被代理到了 'http://your-api-url.com',同时设置了请求头 'X-Custom-Header'。这样,即使你的前端页面访问的域名与 axios 发送请求的域名不同,axios 也可以正常发送请求。

      注意:这个示例假设你的前端页面已经正确地配置了跨域访问,并且可以访问到 'http://your-api-url.com'。如果前端页面无法访问 'http://your-api-url.com',你需要手动在前端页面上设置正确的跨域访问。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部