【发布时间】:2018-02-11 12:29:49
【问题描述】:
Angular 2 http post 未设置内容类型
我试图在 http.post 上设置标题但没有运气。
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';
import { User } from '../_models/index';
@Injectable()
export class UserService {
constructor(private http: Http) { }
create(username: string, firstname: string, lastname: string, email: string, password: string) {
let headers = new Headers({
'Accept' : 'application/json',
'Content-Type': 'application/json'
});
let options = new RequestOptions({ headers: headers, method: 'post' });
return this.http.post(
'http://127.0.0.1:8080/api/users/register',
JSON.stringify({username, firstname, lastname, email, password}),
options
// this.jwt()
).map(
(response: Response) => response.json()
);
}
我已经在我的 apache 配置中设置了标题
<Directory /var/www/stockwatch_api>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Content-Type"
Header set Access-Control-Allow-Methods "POST, PUT, DELETE, GET, HEAD"
我还在我的 cakephp api 应用程序中设置了相同的标题。
我收到了这样的回复:
状态码:501 未实现
【问题讨论】:
-
问题出在后端。它拒绝CORS pre-flight OPTIONS request。尝试将 OPTIONS 添加到允许的方法列表中。
-
谢谢 我试过了,没用。
标签: apache angular cakephp cors preflight