jQuery Post ,然后访问 AngularJS $scope

jQuery Post , then Access AngularJS $scope

在我们的 AngularJS 应用程序中,我们需要使用 jQuery 到 AJAX POST 数据到后端。我们不能使用 $http,因为它不会以我们后端需要的方式格式化对象。 jQuery 确实如此。

我正在尝试在 jQuery POST 完成后设置 $scope 变量,但无法访问 $scope。

 $scope.submit = function () {
        $scope.isSubmitting = true;
        $.post("DoStuff",{ createmodel: $scope.model })
            .then(function(result) {
                ///THIS FAILS TO DO ANYTHING
                $scope.isSubmitting = false;
            });

    };

jQueryPOST返回后如何访问$scope

它没有做任何事情,因为 jQuery 没有通知 Angular 作用域变量已经改变。您可以简单地通过添加 $scope.$apply()

来实现

对于你的情况,解决方案是

$scope.isSubmitting = false;
$scope.$apply();

我会把它放在 $scope.$apply

$scope.apply(function(){
   $scope.isSubmitting = false;
})

https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$apply