【问题标题】:How $http.get should work, I always get from PHP nothing right as answer$http.get 应该如何工作,我总是从 PHP 中得到任何正确的答案
【发布时间】:2014-09-21 22:19:59
【问题描述】:

正如我在标题中所写,我无法从 PHP 获得任何正确答案。有人知道吗?

Javascript

var app = angular.module("appMovies", []);


app.controller("listMovies", ["$scope", "$http", function($scope, $http){

    getMovies($http);

}]);


function getMovies(_http){

    _http.get("movies.php", {data:{"getList":"LISTA"}})
        .success(function(data, status, header, config){
            console.log( data );
        })
        .error(function(data, status, header, config){
            //console.log(data, status, header, config);
        });

}

PHP

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

所以,我明白了……对不起,我的错。显然 $_GET 只从 URL 获取数据,所以我应该写

$http.get("movie.php/?getList=LISTA")...

【问题讨论】:

  • 为什么要使用file_get_contents 进行 GET 请求?
  • 是的,我在这里看到了其他例子

标签: ajax angularjs get file-get-contents


【解决方案1】:

您似乎在混合使用 GET 和 POST 请求。要将 GET 与 Angular/PHP 一起使用,您需要使用 params(查询字符串参数)而不是 data(用于 POST 正文),并在服务器上使用 _$GET(用于查询字符串参数)而不是 @987654325 @(给出 POST 正文)。

所以在浏览器中,类似

_http.get("movies.php", {params: {"getList":"LISTA"}})

在服务器上

var_dump($_GET);

【讨论】:

【解决方案2】:

换一种方式试试:

$http.post("movies.php", {data: {"getList": "LISTA"}}).
        success(function (_data, _status) {
        })
        .error(function (_data, status) {
        });

然后你可以在你的 PHP 代码中使用:

$postData = file_get_contents("php://input");
$request = json_decode($postData);
$request->_data;

【讨论】:

  • 为什么我应该在 javascript 上使用 .post 而不是 .get?
  • 我在我的代码中使用了这个功能,带有 file_get_contents 功能。我在 GET 上遇到了很多麻烦,所以我使用了我发布的代码
  • 所以 $http.get 的意思是只获取不带任何参数的数据?
  • stackoverflow.com/questions/22660012/… - 参考这里。最简单的方法是使用 .post 事件,使用 .post 而不是 .get 对您来说应该没有问题吗?在那里你可以获取 file_get_contents,你也可以通过 .post 上传文件,如果你以后需要它通过 Angular 进行异步
猜你喜欢
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
相关资源
最近更新 更多