我的代码是这样的

HTML视图

<div ng-app="myApp" ng-controller="myCtrl">
  <button ng-click="get_user_detail(Andrew)">
  </button>

  <button ng-click="get_user_detail(Andrew1)">
  </button>
</div>


AngularJS

   var app = angular.module("myApp", []);

   app.controller("myCtrl", ['$compile', '$http', '$scope', function ($compile, $http, $scope) {
     $scope.get_user_detail=function(name){
         var response = $http.get("myURL", {
            params: {user_id:12345,name:name}
        });
      response.success();
      response.error();
     }
 }]);


当我使用一个参数user_id时,它工作正常,参数已正确传递给请求。添加第二个参数名称后,未在参数中传递它。

最佳答案

Andrew不是您的$scope的变量。

因此,当您执行get_user_detail(Andrew)时,Andrew的值是不确定的。



我猜您想将其作为静态值(字符串)传递,将您的值放在引号' '之间:

<button ng-click="get_user_detail('Andrew')">

08-07 08:28