无法使用$ http.post AngularJS查找变量

时间:2015-04-08 20:01:37

标签: php angularjs

我在使用带有angularJS的$ http.post()时遇到了一些麻烦。

当我使用"帖子"使用表单的方法,我可以使用$ _POST在我的php文件中找到数据,并且它可以正常工作。

但是当我这样做时,例如:



$http.post(myUrl, {data: "test data"})
.success(function(){
  console.log("ok");
  });




如何获取数据并在我的php文件中使用它?

由于

1 个答案:

答案 0 :(得分:1)

默认情况下,Angular $http将使用标头Content-type: application/json并将请求正文作为JSON发送。您可以使用以下命令在PHP中获取:

json_decode(file_get_contents("php://input"));

More information about php://input

如果您不想要这个并且想要使用$_POST,则必须将数据发送为x-www-form-urlencoded,这需要更改标头并将数据作为{{}发送1}}字符串。例如:

x-www-form-urlencoded

如果您希望这些设置为全局,可以使用$http({ url: myUrl, data: "data=" + encodeURIComponent("test data"), method: "POST", headers: {"Content-type": "application/x-www-form-urlencoded"} });

对其进行配置