gan*_*404 1 api rest cors .net-core
我有dotnet coreWeb API应用程序,尝试通过IP地址从另一台计算机或同一主机发布POST请求时返回以下错误:
XMLHttpRequest无法加载http://10.50.1.46:2280/api/login/。对预检请求的响应未通过访问控制检查:请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问来源' http://10.50.1.46:8080 '。响应的HTTP状态码为400。
客户端应用程序是vue.js应用程序。这是失败的登录方法片段:
login: function(e) {
e.preventDefault();
this.connectionError = false;
this.loginError = false;
var headers = { 'Content-Type': 'application/json' };
var loginUrl = 'http://10.50.1.46:2280/api/login/';
var data = {Login: this.user.login, Password: this.user.password};
console.log('Sending login request for user : ' + this.user.login);
this.$http.post(loginUrl, data, {headers: headers})
.then(response => {
// get body data
var data = response.body.data;
setCredentials(this.user.login, data.accessToken, data.refreshToken);
this.$router.push('/home');
}, response => {
console.log(response);
if(response.status == 0) {
this.connectionError = true;
} else {
this.loginError = true;
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的Startup.cs文件。这是请求和响应头信息
知道如何解决吗?
在ConfigureServices中的Startup.cs上,输入以下行:
services.AddCors(options => options.AddPolicy("Cors",
builder =>
{
builder.
AllowAnyOrigin().
AllowAnyMethod().
AllowAnyHeader();
}));
Run Code Online (Sandbox Code Playgroud)
在“配置方法”中输入以下行:
app.UseCors("Cors");
Run Code Online (Sandbox Code Playgroud)
此处的更多信息:https : //docs.microsoft.com/zh-cn/aspnet/core/security/cors
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |