我对angular
相当陌生,我正在使用最新的版本。
我试图执行post请求,但遇到了CORS
问题。我认为问题在于我的请求头中没有内容类型,我想将它添加到代码中。
在以前的版本中,下面的方法起作用了,但不再起作用了。为了在Angular 6
中正确应用标头,我需要做些什么?
我得到以下错误
类型'{ header: any;}‘的参数不能分配给’RequestOptionsArgs‘类型的参数。
import { Injectable } from '@angular/core';
import { environment } from '../environments/environment';
import { User } from './user';
import { Http } from '@angular/http';
import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map, catchError } from "rxjs/operators";
const API_URL = environment.apiUrl;
@Injectable({
providedIn: 'root'
})
export class ApiService {
constructor(private http: Http) {
}
public createUser(user: User): Observable<User> {
let getHeaders: HttpHeaders = new HttpHeaders({
'Content-Type': 'application/json'
});
return this.http
.post(API_URL + '/users', user, {header: getHeaders}).pipe(
map(response => {
return new User(response.json());
}), catchError(this.handleError)
)
}
发布于 2018-05-17 18:09:16
app/json自动应用于HttpClient请求,因此您不需要这样做。
尽管如此,您使用的是错误的Http导入。应:
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
this.http.post(...);
https://stackoverflow.com/questions/50397892
复制相似问题