写了一个项目,在本地可以正常访问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>' +'• '+ 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,
})
);
本地项目截图:
github pages 截图:
报错截图:
github的gh-pages只是个静态页面展示. 没有你要的服务器功能. 服务器要你自己搭, 然后把服务器地址放到gh-pages里.
就强制加了个github的地址在url前面
, 这不叫什么强制加. 你自己没提供服务器域名, 就使用当前页面的域名.如果只是一些静态数据, 那需要生成 json文件, 放到项目里. 然后访问这个文件地址.