我有一个
Angular 6
我正在尝试的应用程序
POST
请求我们
.NET Web API
位于其他本地域上的项目。
尝试这个
柱
将以下错误引发到控制台:
POST http://localhost:9090/api/values 401 (Unauthorized)
Web API正在运行
localhost:9090
Angular正在运行
localhost:5200
在.NET Web API中,我的CORS在
Web.config
:
<add name="Access-Control-Allow-Origin" value="http://localhost:5200" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
角度服务(应该将错误记录到服务器上):
import { Injectable } from '@angular/core';
import { Http, Response, Request, Headers } from '@angular/http';
import { Observable } from 'rxjs';
import { from } from 'rxjs';
import { map, filter, catchError, mergeMap } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class ErrorService {
http: Http;
constructor(http: Http) {
this.http = http;
};
postError(argument) {
let request = new Request({
method: "POST",
url: "http://localhost:9090/api/values"
});
return this.http.request(request)
.pipe(map(res => res.json()))
.subscribe(
data => console.warn(data),
err => console.error(err),
() => console.log("empty")
);
}
}
我怀疑我的角度服务-也许我不包括必要的证书在我的头?
最后一个注意事项——当从头开始创建一个新的Web API项目时,这个帖子会起作用(我没有尝试过使用我的特定服务,但我的团队伙伴也有同样的服务)
401
问题和创建新的Web API项目对他很有效)。所以在我的
Web API
项目是这样的,我的角度服务不符合安全标准的
Web API
项目(?)任何提示都将不胜感激。