ZBLOG

jset使用axios请求 报错Cross origin http://localhost forbidden怎么配置去解决

如果在使用 Jest 和 Axios 进行请求时出现 “Cross origin http://localhost forbidden” 的错误,这通常是由于浏览器的跨域安全策略引起的。为了解决这个问题,你可以尝试以下方法:

  1. 在你的测试文件中添加一个 beforeAll 钩子函数,并设置 axios 的默认配置,允许跨域请求。
// YourTestFile.spec.js

import axios from 'axios';

beforeAll(() => {
  axios.defaults.baseURL = 'http://localhost';
  axios.defaults.withCredentials = true; // 允许携带 Cookies
});
  1. 如果仍然遇到问题,可能是服务器端没有正确配置 CORS(跨域资源共享)。请确保服务器响应头包含合适的 CORS 头信息。以下示例展示了一个基本的 Express.js 服务器配置:
const express = require('express');
const app = express();

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*'); // 或指定具体允许跨域的地址
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  res.setHeader('Access-Control-Allow-Credentials', true);
  
  next();
});

// 其他路由和中间件...

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

这样配置后,请确保在测试环境或开发环境下进行跨域请求时使用的是正确的 URL。如果仍然无法解决问题,请检查服务器端的日志,了解更详细的错误信息,并确保服务端和客户端都已经配置正确。

请注意,在生产环境中应谨慎处理跨域问题,并严格控制允许跨域请求的地址和方法,以提高安全性。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=16916

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?