我在使用带有angularJS的$ http.post()时遇到了一些麻烦。
当我使用"帖子"使用表单的方法,我可以使用$ _POST在我的php文件中找到数据,并且它可以正常工作。
但是当我这样做时,例如:
$http.post(myUrl, {data: "test data"})
.success(function(){
console.log("ok");
});

如何获取数据并在我的php文件中使用它?
由于
答案 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"}
});