angularjs方法`$ http.post`如何工作?

时间:2016-02-19 11:18:21

标签: javascript angularjs

我正在使用此代码,我想提醒其响应

$http.post('test.php',{id:index});

所以我使用了这段代码

alert(($http.post('test.php',{id:index}).data));

我不明白angularjs方法$http.post与下面的代码有什么不同。以及数据如何进入上面的代码?

$http({
    url: "test.php",
    method: "POST",
    data: {id:index}
}).success(function(data) {
   alert(data);
}).error(function(error) {
});

test.php是

<?php
    echo "TestName";
?>

1 个答案:

答案 0 :(得分:3)

您的代码

  1. 假设post函数返回一个具有data属性的对象。

  2. 假设在执行POST时post函数阻止(例如,同步)。

  3. 这两种假设都不正确。 post 启动 POST但在POST完成之前立即返回。它返回的值是 promise ,它是处理异步操作的回调的形式化方法。承诺有thenerror和类似的功能。

    在第二个示例中,代码运行,然后稍后,当POST完成时,如果成功调用success回调,则传入数据。

    here和(承诺)here涵盖了这一点。