使用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使用路由怎么实现返回上一页,页面内容不会刷新