【发布时间】:2019-09-05 18:01:10
【问题描述】:
我在 IIS 10 中托管了一个 .net 网络服务。我正在尝试从 Angular 前端的网络服务器获取数据。
我在 IIS 中启用了 Access-Control-Allow-Origin:
我还在我的 Web.Conf 中启用了 customHeaders:
当我尝试从有角度的前端访问 web 服务时,我收到此错误:
我正在使用来自 @angular/common/http 的 HttpClient 并尝试了几种不同的请求,但仍然没有运气。这是我最近一次失败的请求
public GetSlippage(tradeGroup: string, start: string, end: string, period: string, premiumFilter: number): Observable<SlippageContainer> {
let url: string = `${this._slippageUrl}/${tradeGroup}`;
let queryParams: HttpParams = new HttpParams()
.set('start', start)
.set('end', end)
.set('period', 'none')
.set('premium', String(premiumFilter));
let heads: HttpHeaders = new HttpHeaders();
heads = heads.append('Content-Type', 'text/plain');
heads = heads.append('Access-Control-Allow-Origin', '*');
console.log(`Sent Slippage Request ${start} ${end}`);
return this._httpClient.get<SlippageContainer>(url, { headers: heads, params: queryParams });
}
由于某种原因,当我使用 http://<serverName>:port/endpoint 时请求会起作用
但不是http://<serverName.domainName.local:port/endpoint。最终,我希望能够在 url 中使用完全限定的域名。
【问题讨论】:
-
那些是响应头。
-
@DanielA.White 你能澄清一下吗?我已经在 IIS 的方法和 web.conf 的 Allow-Methods 中列出了 GET。