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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Vue cli跨域问题。
    • 2017-11-06 00:00
    • 11
    30
    0

    A.我要请求的地址:

    http://qq1.aaa.com:8080/qqGroups/info 

    B.
    1.webpack里配置如下

        proxyTable: {
            '/api': {
                target: 'http://qq1.aaa.com:8080',
                changeOrigin: true,
                pathRewrite: {
                    '^/api': ''
                }
            }
        },

    2.请求

        this.$axios.get('/api/qqGroups/info').then(function(response) {
            console.log(response);
        }).catch(function(error) {
            console.log(error);
        });

    3.GET http://localhost:8080/api/qqGroups/info 404 (Not Found)

    提示可见 配置无效
    C:https://vuejs-templates.githu...

    官方文档也是这么配置的啊
    简直日了方圆500里的狗,搭的新环境都不行
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 濄期的埘堠ン 普通会员 1楼

      Vue CLI 是一个用于构建 Vue 应用的命令行工具,它可以自动处理大部分前端开发任务。但是,如果你的 Vue 应用需要访问服务器上的资源(如 JSONP),或者使用其他前端技术(如 AJAX),Vue CLI 仍然无法解决跨域问题。

      解决跨域问题的一种方法是使用代理。代理可以将客户端的请求转发到服务器,服务器则根据请求的域名返回正确的资源。

      以下是一个简单的代理配置:

      ```javascript // 在你的 Vue 路由器中配置代理 const express = require('express'); const app = express(); const path = require('path'); const {代理 } = require('http-proxy-middleware');

      // 定义你的路由和代理 app.get('/api/data', proxy({ target: 'http://example.com', changeOrigin: true }));

      // 启动你的服务器 app.listen(3000); ```

      在这个例子中,当你访问 /api/data 时,它会被代理到 http://example.com。服务器会返回一个 JSONP 资源,而不是从服务器获取。

      如果你的 Vue 应用是基于前端技术构建的(如 AJAX),而不是后端服务,那么你可能需要使用 JSONP 作为你的解决方案。但是,这需要你熟悉 JSONP,并且可能不是最好的解决方案。

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