我正在尝试HttpClient
在Angular 5项目中使用POST调用,并且我想设置标题:
import { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { AuthData } from './models/auth-data';
@Injectable()
export class AuthService {
constructor(private http: HttpClient) { }
auth = (data: AuthData) => {
var url = "https://.../login";
var payload = data;
var headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
var options = {
headers: headers
};
this.http.post(url, payload, options).subscribe();
}
}
由于某种原因,Content-Type
标头似乎不在我发出的请求中。
为什么是这样?
如果我没看错,那么您向我们显示的是OPTIONS飞行前请求(CORS),而不是实际的POST请求。
应该有2个“有问题的请求”。其中一个的http方法应该是OPTIONS(您在此处显示的方法,称为预检cors请求)和一个实际的POST(如果服务器允许您的客户端使用)。如果host与locahost:4200
我假设的不同,则必须在服务器上为localhost:4200
客户端启用cors请求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句