需要有关如何使用Angular正确POST到PHP的建议

时间:2015-02-19 11:11:37

标签: php angularjs

所以,我目前正在尝试使用Angular的PHP(对PHP来说还是新手),并且想要一些建议,以便我可以编写好的干净代码。

基本上,我试图从第三方API获取分析,但首先我必须使用我的用户名+密码检索令牌,然后在收到令牌后,我必须调用另一个URL并添加该令牌参数。

首先,在我的控制器中 - 我稍后会在我的服务中添加我的$ http电话

var username = 'test';
var pass = 'test password';

$http({
    url: 'http://example/stats.php',
    method: "POST",
    data: $.param({ 
        "user_id": username,
        "pass" : pass
    }),
}).success(function(data, status, headers, config) {
    console.log(data.tokenResponse.tokenId);
    // Here I get back that token Id

}).error(function(data, status, headers, config) {});

在我的PHP脚本中,我传递了user_id&传递,然后调用API并回显$ data。

$username = $_POST['user_id'];
$password = $_POST['pass'];

$data = 
file_get_contents('https://examplestats.com/rest/auth/json?login='.$username.'&password='.$password.'');
echo str_replace("\\","", $data);

作为回报,我明白了,

Object
tokenResponse: Object
tokenId: "96996a53-6464-42d6-9726-47be0971f323"
universe: Array[3]
__proto__: Object
__proto__: Object

现在我有了令牌,我必须得到分析。第三方声明我必须将URL中的令牌作为参数传递,即

example.com/rest/data/json?tokenId=的 96996a53-6464-42d6-9726-47be0971f323 &安培;指示器=分析

现在问题是,如何只调用stats.php一次并检索数据?目前,我可以创建另一个php文件并执行相同的过程,但后来我会重复代码。与此同时,我会试着弄明白。

1 个答案:

答案 0 :(得分:1)

在PHP脚本中使用json_decode获取tokenID并发出另一个请求:

$username = $_POST['user_id'];
$password = $_POST['pass'];

$data = 
file_get_contents('https://examplestats.com/rest/auth/json?login='.$username.'&password='.$password.'');
$data = json_decode($data);
$analytics = file_get_contents('https://examplestats.com/rest/data/json?tokenId=' . $data->tokenResponse->tokenId . '&indicator=Analytics');
echo str_replace("\\","", $analytics);