进行axios.get调用时出现CORS错误
我正在使用axios在我的redux action.js文件中进行axios.get调用。 在我的组件中,此操作在表单提交时执行 我在控制台中获得状态进行axios.get调用时出现CORS错误,cors,cross-domain,redux,Cors,Cross Domain,Redux,我正在使用axios在我的redux action.js文件中进行axios.get调用。 在我的组件中,此操作在表单提交时执行 我在控制台中获得状态200,但没有得到任何回复。 我得到以下错误: 请求的资源上不存在“Access Control Allow Origin”头。因此,不允许访问源“http:\\\\localhost:3000”。 有人也遇到过这样的错误吗?请分享如何解决此问题。问题不在于axios。问题出在服务器上。提供数据时,必须在发送数据之前添加以下标题 访问控制允许原点
200
,但没有得到任何回复。
我得到以下错误:
请求的资源上不存在“Access Control Allow Origin”头。因此,不允许访问源“http:\\\\localhost:3000”。
有人也遇到过这样的错误吗?请分享如何解决此问题。问题不在于axios。问题出在服务器上。提供数据时,必须在发送数据之前添加以下标题 访问控制允许原点 必须设置为 * 访问控制允许标题 必须设置为
来源,X-request-With,内容类型,Accept我在解决这个问题时遇到的第一个困惑是理解飞行前请求的含义。所以我将从这里开始 当请求不满足以下条件时,浏览器会发送飞行前请求:
- 得到
- 职位
- 头
- 接受
- 接受语言
- 内容语言
- 最后事件ID
- 内容类型,但仅当值为以下值之一时:
- 应用程序/x-www-form-urlencoded
- 多部分/表单数据
- 文本/纯文本
- 访问控制允许标头
- 访问控制允许源
- 访问控制允许方法
授权
),但它很可能不会配置为CORS请求。如果您有权访问服务器,只需了解如何为该服务器配置CORS即可
有关CORS的更多信息。请参见这对我很有用:
axios.create({
baseURL: "http://localhost:8088"
}).get('/myapp/user/list')
.then(function(response) {
callback && callback(response);
debugger;
})
请试试这个。。它适用于我的案例{crossdomain:true}
axios.get(`http://localhost:4000/api`,{ crossdomain: true }).then((result)=>{
console.log("result",result.data.result.[0].name);
}).catch((error)=>{
console.log("Error hey",error);
});
@提摩斯塔——那我怎么解决这个问题呢?我在代码中添加了以下内容,但仍然得到了相同的错误--var config={headers:{'Access-Control-Allow-Methods':'GET,PUT,PATCH,POST,DELETE','Access-Control-Allow-Origin':'*','Content-Type':'application/json'};const request=axios.get(url,config)@TimoSta——感谢您的链接,为了解决这个问题,我必须在我的ServerExpress应用程序中安装CORS模块,并将其用作中间件。我只是想知道我是否可以在客户端请求中做些什么来克服这个问题。如果有这样的方法,请告诉我。因为当我使用邮递员或任何浏览器提出请求时,它不会导致任何此类问题。所以,也许我也可以在客户端请求中添加一些东西来解决这个问题。只是好奇。我怎么能为API调用做到这一点呢?我已经看到,这是在一个环境中运行良好的完全相同的代码上实现的,而不是在不同的环境中。这两种情况下的服务器完全相同。前端是铬合金的CORS开关打开。我确信服务器端正确处理了CORs。所以我被难住了。有些东西关闭了。但是在使用axios时,我该怎么做呢?