【问题标题】:How to pass dynamic value to $http.post in angularjs如何在angularjs中将动态值传递给$http.post
【发布时间】:2014-02-21 12:05:39
【问题描述】:

这是场景,当我点击按钮时,我在页面中有一个“获取课程”按钮,我正在传递 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 = 数据; })

如果我像下面这样传递静态课程 ID,我正在获取课程 ID,所以请建议如何传递动态值。

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

【问题讨论】:

  • 为什么不使用'js/description.json',{courseId:$scope.courseId}
  • 没关系,你可以像 $scope.courseId 或 {courseId:$scope.courseId} 一样直接传递没关系,但我只是在动态变量时遇到问题。
  • 您能否进一步解释一下,您所说的“动态”是什么意思?
  • 当然,假设我有以下链接,单击此链接时,我需要使用 $http.post 以及 json/serverlet url 将“Adobe”的值传递给服务器。 获取课程
  • 你能设置一下你试过的代码吗

标签: angularjs


【解决方案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;        
    });
}

【讨论】:

  • 我还是没有运气。
  • 非常感谢您的方法效果很好,再次感谢。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-21
    • 2021-11-05
    • 2014-11-04
    • 2016-05-05
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多