申请请求 headers angular 6
Applying request headers angular 6
我是 angular
的新手,我使用的是最新版本。
我正在尝试执行 post 请求,但我 运行 遇到了 CORS
问题。我认为问题是因为我的请求 header 中没有内容类型,我想将其添加到我的代码中。
在以前的版本中,下面的方法可以,但现在不行了。我需要做什么才能在 Angular 6
中正确应用 headers?
我收到以下错误
"Argument of type '{ header: any; }' is not assignable to parameter of type '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)
)
}
app/json 会自动应用于 HttpClient 请求,因此您无需执行此操作。
也就是说,您使用了错误的 Http 导入。
应该是:
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
this.http.post(...);
我是 angular
的新手,我使用的是最新版本。
我正在尝试执行 post 请求,但我 运行 遇到了 CORS
问题。我认为问题是因为我的请求 header 中没有内容类型,我想将其添加到我的代码中。
在以前的版本中,下面的方法可以,但现在不行了。我需要做什么才能在 Angular 6
中正确应用 headers?
我收到以下错误
"Argument of type '{ header: any; }' is not assignable to parameter of type '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)
)
}
app/json 会自动应用于 HttpClient 请求,因此您无需执行此操作。
也就是说,您使用了错误的 Http 导入。 应该是:
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
this.http.post(...);