GitHub pages 是不是不支持跨域?

新手上路,请多包涵

写了一个项目,在本地可以正常访问api,用了createProxyMiddleware处理跨域问题,但传到github pages 上面,就强制加了个github的地址在url前面,不知道是哪里出了问题,请大神指导~

本地项目:

调用API:

function getData() {

        const id = Math.floor(Math.random() * 50000) + 1; //随机id        
        console.log("id:" + id)

        let key = '1ff73a31e2a4cfda225d64a2fdcb844d';
        var api = '/jisuapi/detail';
        axios.get(api,{params:{id:id,appkey:key}})
            .then(function (response) {
                console.log(response.data.result.result);
                result = response.data.result.result;
                const materials = result.material.map(x => {
                    return ('<br>' +'&bull;  '+ x.mname + x.amount)
                }).join(" ");
                const process = result.process.map((x,index) => {
                    return (('<br>'+(index+1)+". "+ x.pcontent.replace(/\<br \/\>\n/g, "")))
                }).join('\n');
                setMenu({ name: result.name, content: result.content, material: materials, process: process });
                setEmojiId(Math.floor(Math.random() * 5)) ;
                console.log("menu:" + menu);
            })
            .catch(function (error) {
                console.log(error);
            })
    }

跨域处理:

app.use(
    '/jisuapi',
    createProxyMiddleware({
      target: 'https://way.jd.com',
      changeOrigin: true,
      toProxy:true,
      
    })
  );

本地项目截图:
image.png


github pages 截图:
image.png

报错截图:
image.png

阅读 3k
1 个回答

github的gh-pages只是个静态页面展示. 没有你要的服务器功能. 服务器要你自己搭, 然后把服务器地址放到gh-pages里.

就强制加了个github的地址在url前面, 这不叫什么强制加. 你自己没提供服务器域名, 就使用当前页面的域名.

如果只是一些静态数据, 那需要生成 json文件, 放到项目里. 然后访问这个文件地址.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题