使用angularJS成功提交后如何刷新页面

Posted

技术标签:

【中文标题】使用angularJS成功提交后如何刷新页面【英文标题】:How to refresh the page upon successful submission using angularJS 【发布时间】:2016-01-06 20:08:00 【问题描述】:

您好,提交成功后如何刷新html页面? 我已经尝试如下,但它不起作用。

$scope.submit =function()
        data = ;
        angular.extend(data, $scope.final_data);
        angular.extend(data,  checks : $scope.final_data.checks );
        $http.post('% url 'submit' %', data).success(
            function(data)
                alert('succesfully submitted');
                $location.path('% url 'orc_checkbinning' %');
            ).error(function()
                alert('not submitted');
        )
    ;

我正在为我的项目使用 Django 框架。任何想法?提前致谢。

【问题讨论】:

与其刷新页面或类似的东西,您可能只需通过更新视图模型/范围来使用新数据更新它 我同意@ExplosionPills,因为 Angular 具有双重绑定属性,或者您可以在您的函数上使用 location.reload() 【参考方案1】:

定义和用法 reload() 方法用于重新加载当前文档。 reload() 方法与浏览器中的重新加载按钮相同。 默认情况下,reload() 方法会从缓存中重新加载页面,但您可以通过将 forceGet 参数设置为 true 来强制它从服务器重新加载页面:location.reload(true)。

使用此更新后的代码。

$scope.submit =function()
        data = ;
        angular.extend(data, $scope.final_data);
        angular.extend(data,  checks : $scope.final_data.checks );
        $http.post('% url 'submit' %', data).success(
            function(data)
                alert('succesfully submitted');
                   $scope.reloadPage = function()                                                
                   
                     $window.location.reload();
                   
                ).error(function()
                    alert('not submitted');
            )
        ;

【讨论】:

【参考方案2】:

我认为最好的方法是使用提交的数据更新范围,但是 如果你真的想刷新页面,试试这个:

您可以使用 $route 服务的 reload 方法。注入$route 你的控制器,然后在你的 $scope 上创建一个方法 reloadRoute。

$scope.reloadRoute = function() 
   $route.reload();

SO post

【讨论】:

【参考方案3】:

我在组件的 onSubmit 方法中使用了这个(在清除表单并给出成功消息之后):

window.location.reload();

【讨论】:

以上是关于使用angularJS成功提交后如何刷新页面的主要内容,如果未能解决你的问题,请参考以下文章

angularjs使用路由怎么实现返回上一页,页面内容不会刷新

在微信小程序中操作执行成功后回到上一页,并进行刷新

POST请求后如何刷新表单页面?

django 制作web网站,动态页面数据已更新,但是无法刷新,这是怎么回事?是页面缓存吗?

ajax提交后如何防止页面刷新

uniapp使用navigateBack方法返回上级页面并刷新