1

我只是在试验 AngularJS,对它还很陌生。我正在使用 http 调用我的 php 服务$http。我注意到我在进行 post 调用时传递的数据在 php 端没有被读取——我试过var_dump($_REQUEST);了,它只是显示了一个空数组。然而,使用 jQuery 进行的相同调用$.ajax显示数据已通过。

然后我发现了一个 Stackoverflow 帖子,其中有人要求读取数据file_get_contents('php://input');而不是$_REQUEST. 我试过了,现在我可以使用 AngularJS 的$http. 但是,当我尝试使用 AngularJS $http 方法进行 Get 调用时,file_get_contents('php://input');显示数据已通过。NULL$_REQUEST

我对这两个到底是什么以及如何解决这个问题感到困惑?

4

1 回答 1

0

使用 GET 请求,您将所有数据作为 url 的一部分发送。但是,当您发送包含不属于 url 的数据的请求时(使用 的data属性$http),Angular 会将请求数据作为 JSON 发送到请求负载中。但是,PHP 从请求内容类型为x-www-form-urlencoded. 您可以从 Angular 以 application/x-www-form-urlencoded 的形式发送数据,但我会坚持使用 JSON。

于 2013-06-02T23:58:15.377 回答