Javascript HTTP post请求后分配作用域变量

Javascript HTTP post请求后分配作用域变量,javascript,angularjs,Javascript,Angularjs,我无法在HTTP post请求后分配范围变量 控制器: storeApp.controller("formCtrl", ['$scope', '$http', function ($scope, $http) { $scope.variableToBeAssigned= null; } $scope.formsubmit = function () { $http.post($scope.url, { "name": $scope.name}).

我无法在HTTP post请求后分配范围变量

控制器:

storeApp.controller("formCtrl", ['$scope', '$http', function ($scope, $http) {          
  $scope.variableToBeAssigned= null;
}

$scope.formsubmit = function () {
         $http.post($scope.url, { "name": $scope.name}).
                    success(function (data, status){
                        $scope.variableToBeAssigned= "success";                            
                    })}

当用户提交表单时,将调用formsubmit()函数。即使在HTTP Post请求之后,“variableToBeAssigned”仍然保持空值。

您应该将函数放在控制器内

storeApp.controller("formCtrl", ['$scope', '$http', function ($scope, $http) {          
  $scope.variableToBeAssigned= null;
  $scope.formsubmit = function () {
         $http.post($scope.url, { "name": $scope.name}).
                    success(function (data, status){
                        $scope.variableToBeAssigned= "success";
                        return($scope.test1);
                    })}

}

将formsubmit()放在控制器中。您怎么说它没有修复?因此在我看来,我输出了变量“variableToBeAssigned”。它本身保持null,而不是“success”。HTTP请求结果是否为2XX?也许你被服务器拒绝了,然后承诺的
成功
没有被调用。HTTP响应似乎很好。我能够检查响应,它是来自PHP脚本的有效响应。return inside
success
不执行任何操作