如何将动态值传递给angularjs中的$ http.post

时间:2014-02-21 12:05:40

标签: angularjs

这是一个场景,当我点击按钮时,我在页面中有一个“Get course”按钮,我正在传递courseId,在getCourse()方法中返回$ scope.courseId;然后我在$ http.post方法中传递这个变量。但是当我在开发人员工具中调试时,我没有获得courseId值。


    $scope.getCourse= function(){ return $scope.courseId;}

    $http.post('js/description.json', $scope.courseId).success(function(data){       
             $scope.response = data;        
    })

如果我通过下面的静态课程ID,我会得到课程ID,所以请建议如何传递动态值。


    $http.post('js/description.json', {'courseId':'Adobe'}).success(function(data){       
             $scope.response = data;        
    })

2 个答案:

答案 0 :(得分:1)

看起来您只是传递字符串“Adobe”而不是服务所期望的对象。尝试:

$http.post('js/description.json', {courseId: $scope.courseId}).success(function(data){       
             $scope.response = data;        
    })

答案 1 :(得分:1)

假设$scope.getCourse= function(){ return $scope.courseId;}返回Course Id。你可以用

$http.post('js/description.json', {courseId: $scope.getCourse()}).success(function(data){       
         $scope.response = data;        
})

但是,如果您将Course Id传递给执行帖子的方法,则使用

$scope.getCourse = function(Id){ // Id is passed into function
    $http.post('js/description.json', {courseId: Id}).success(function(data){       
         $scope.response = data;        
    });
}