【发布时间】:2017-05-15 15:20:03
【问题描述】:
我似乎无法理解为什么请求没有作为 POST 请求发送 我在NG2中的代码如下:
let headers = new Headers({ 'Content-Type': 'application/json'});
let options = new RequestOptions({ headers: headers , method:RequestMethod.Post });
let content = [ { email:email, password: pass } ];
return this._http.post(this._apiPath, content, options).toPromise()
.then(this.extractData)
.catch(this.handleErrorPromise);
(我使用来自:http://www.concretepage.com/angular-2/angular-2-http-post-example#example 的示例对其进行了编码)
在我的 PHP 服务器中,我收到以下请求:
[15/May/2017:15:09:32 +0000] "OPTIONS /index.php/api/login HTTP/1.1" 404 90 "http://localhost:4200/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
当我运行一个简单的 wget 请求时,我在我的 PHP 服务器中收到以下正确的请求:
[15/May/2017:15:02:51 +0000] "POST /index.php/api/login HTTP/1.1" 200 96 "-" "Wget/1.15 (linux -gnu)" web_1 | 2017/05/15 15:02:51 [info] 15#15: *21 客户端 172.18.0.1 关闭 keepalive 连接
这是我使用的 wget 命令:
wget --post-data "email=myemail@gmail.com&password=test" http://localhost/index.php/api/login
任何想法为什么 NG2 不发送 POST 请求? 谢谢。
【问题讨论】:
-
您不必担心。这只是一个预检请求。