首页 > 解决方案 > jQuery Post ,然后访问 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;
            });

    };

jQuery POST 返回后如何在 $scope 中访问它。

标签: jqueryangularjsjquery-ajaxq

解决方案


它没有做任何事情,因为 jQuery 没有通知 Angular 范围变量已更改。您可以通过添加简单地实现这一点$scope.$apply()

在您的情况下,解决方案是

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

推荐阅读