在学 Vue,遇到跨域问题,希望大家帮忙解决,看看问题出在哪里?
post query 请求地址: https://manga.bilibili.com/twirp/comic.v1.Comic/Banner?device=pc&platform=web 在 vite.config.js 中配置如下。
server: {
proxy: {
'/api': {
target: 'https://manga.bilibili.com',
changeOrigin: true, // 允许跨域
rewrite: (path) => path.replace(/^\/api/, ''),
}
}
}
在 xx.vue 中代码
axios.post('/api/twirp/comic.v1.Comic/Banner', {}, {
params: {
device: 'pc',
platform: 'web',
}
}).then((res) => {
console.log('res: ', res)
})
报错如下: 这里是 400
xhr.js:220 POST http://127.0.0.1:5173/api/twirp/comic.v1.Comic/Banner?device=pc&platform=web 400 (Bad Request)
127.0.0.1/:1 Uncaught (in promise) AxiosError {message: 'Request failed with status code 400', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: XMLHttpRequest, …}
(没办法这么试了下)
如果axios.post('/api/twirp/comic.v1.Comic/Banner', {}, {
改为axios.post('/twirp/comic.v1.Comic/Banner', {}, {
就是 404 (Not Found)
请大佬瞧瞧,困扰了我两三个小时了,别的地址的 get 请求出跨域问题,这样配置跨域第一种方法可以正常解决。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.