Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Angular2 Post请求出于某种原因将选项作为标头发送_Php_Angular_Post - Fatal编程技术网

Php Angular2 Post请求出于某种原因将选项作为标头发送

Php Angular2 Post请求出于某种原因将选项作为标头发送,php,angular,post,Php,Angular,Post,我似乎无法理解为什么该请求不作为POST请求发送 我在NG2中的代码如下: let headers=新的头({'Content-Type':'application/json'}); let options=new RequestOptions({headers:headers,method:RequestMethod.Post}); 让内容=[{email:email,密码:pass}]; 返回此。http.post(此。路径、内容、选项)。toPromise() .然后(此.extractD

我似乎无法理解为什么该请求不作为POST请求发送 我在NG2中的代码如下:

let headers=新的头({'Content-Type':'application/json'});
let options=new RequestOptions({headers:headers,method:RequestMethod.Post});
让内容=[{email:email,密码:pass}];
返回此。http.post(此。路径、内容、选项)。toPromise()
.然后(此.extractData)
.接住(这只手如箭头所示)

(我使用以下示例对其进行了编码:)

在我的PHP服务器中,我收到以下请求:

[15/May/2017:15:09:32+0000]“选项/index.php/api/login HTTP/1.1“404 90”“”Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/57.0.2987.133 Safari/537.36”

当我运行一个简单的wget请求时,我在PHP服务器中收到以下正确的请求:

[2017年5月15日: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[信息]15 | 15:*21客户端172.18.0.1关闭的保持连接

以下是我使用的wget命令:

wget --post-data "email=myemail@gmail.com&password=test" http://localhost/index.php/api/login
你知道为什么NG2不发送POST请求吗? 谢谢。

这是因为

你看到的是所谓的预飞请求。我想这是因为您的内容类型被设置为json

选项请求基本上是询问服务器是否允许客户端发出请求

请求将被预引导。。。(段落措辞)

…如果内容类型标头的值不是以下值:

  • 应用程序/x-www-form-urlencoded
  • 多部分/表单数据
  • 文本/纯文本
您需要在服务器上处理此问题

编辑: 这是因为

你看到的是所谓的预飞请求。我想这是因为您的内容类型被设置为json

选项请求基本上是询问服务器是否允许客户端发出请求

请求将被预引导。。。(段落措辞)

…如果内容类型标头的值不是以下值:

  • 应用程序/x-www-form-urlencoded
  • 多部分/表单数据
  • 文本/纯文本
您需要在服务器上处理此问题

编辑:

如果是服务器问题,我怎么能从wget发送正确的请求?或者你指的是NG2本地服务器?@user1322801阅读我发布的链接。WGET将不会preflighted@user1322801您的服务器需要使用
访问控制允许源站
标题进行响应如果是服务器问题,我怎么能从wget发送正确的请求?或者你指的是NG2本地服务器?@user1322801阅读我发布的链接。WGET将不会preflighted@user1322801您的服务器将需要使用
访问控制允许源站
标题进行响应您不必担心。这只是一个预先准备好的请求,你不必担心。这只是一个预飞的请求。