如何在AngularJS中的http服务中使用范围对象?

时间:2016-01-11 04:16:45

标签: angularjs

我需要根据json对象的响应发出一个http请求。我在$ scope.id对象中有特定的字符串。我的代码就是这个

app.controller('test', function($scope, $http) {
  $http.post("http://127.0.0.1/flat.json", {"key": "value"})
  .then(function (response) {$scope.id = response.data.id;});
});

我想添加另一个http请求:

http://127.0.0.1/{{id}}

我已经尝试了所有我能想到的生成此请求的内容,但我要么得到" undefined"变量或脚本无法执行。

1 个答案:

答案 0 :(得分:1)

为视图保留双括号。使用javascript时,您只需使用字符串连接来创建您的URL。

app.controller('test', function($scope, $http) {
  var path = 'theendoftheurl'

  $http.post("http://127.0.0.1/" + path , {"key": "value"})
  .then(function (response) {$scope.id = response.data.id;});
});

编辑:如果我正确理解你的问题,你想要按照以下方式做点什么:

app.controller('test', function($scope, $http) {
      $http.post("http://127.0.0.1/flat.json" , {"key": "value"})
      .then(function (response) {
         $http.post("http://127.0.0.1/" + response.data.id, {})
         .then(function (secondResponse) {
           //secondResponse is the data you're looking for
         });
      });
    });