Yur*_*zov 8 javascript c# asp.net api reactjs
我有错误
从源 ' http://localhost:3000 '获取在 ' http://localhost:5000/admin/authenticate '的访问已被 CORS 策略阻止:没有 'Access-Control-Allow-Origin' 标头存在于请求的资源。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
我的 ApiManager
function login(username, password) {
const requestOptions = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*' },
body: JSON.stringify({ username, password })};
return fetch(`http://localhost:5000/admin/authenticate`, requestOptions)
.then(handleResponse)
.then(user => {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('user', JSON.stringify(user));
return user;
}
);
}
Run Code Online (Sandbox Code Playgroud)
在后端 Asp.Net Core 2.2 (Startup.cs) 中,我写道:
services.AddCors(options =>
{
options.AddPolicy(
_corsName,
builder => { builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials(); });}
);
Run Code Online (Sandbox Code Playgroud)
小智 9
我尝试了 anerco 的答案,但它对我不起作用,我发现这篇文章,它有一个非常相似的解决方案,但.SetIsOriginAllowed(origin => true)
添加和.AllowAnyOrigin()
删除了。
因此,您应该将此代码添加到启动类中的配置方法中:
app.UseCors(x => x
.AllowAnyMethod()
.AllowAnyHeader()
.SetIsOriginAllowed(origin => true) // allow any origin
.AllowCredentials()); // allow credentials
Run Code Online (Sandbox Code Playgroud)
我建议阅读这篇文章以更好地理解所有这些,它非常简短,开门见山。
Jos*_*oni -8
Chrome 中存在一个已影响用户多年的错误,可以在此处找到。
您可以使用 Chrome 扩展程序 Allow-Control-Allow-Origin: * 位于此处:https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
或者,您可以使用http://lacolhost.com/
它指向 127.0.0.1,如 localhost。
归档时间: |
|
查看次数: |
32200 次 |
最近记录: |