当使用Angular JS和Laravel删除注释时,被重定向到默认的应用路由
Gets redirected to default app route when deleting comment using Angular JS and Laravel
我正在使用Laravel和AngularJS开发一个应用程序,用户可以在其中编写和删除他们的评论。
在主屏幕上,用户可以查看和删除他/她的所有评论,当他们这样做时,列表应该更新。
我的问题是,当我按下删除按钮时,我被重定向到默认路由的登录页面。
$routeProvider.otherwise({ redirectTo : '/login' });
我正在使用laravels资源控制器
Route::resource('comment', 'CommentController');
当我再次进入主页时,评论被成功删除。
我的评论服务使用这个来删除评论:
app.factory('CommentService', function($http) {
return {
destroy: function(id) {
return $http.delete('comment/' + id);
}
};
});
在home控制器中,我创建了这个函数来删除注释。
app.controller('homeController', function($scope, $location, AuthenticationService, CommentService) {
$scope.deleteComment = function(id) {
CommentService.destroy(id).success(function() {
CommentService.get().success(function(data) {
$scope.comments = data;
$scope.order = 'end_date';
});
});
};
当我删除评论时,如何防止网站重定向到登录页面?
最好是重定向到最近的页面,如果我登录,如果我没有,我应该重定向到登录页面。(例如,如果我在主页,那么如果我在url中键入不存在的内容或删除评论,我将被重定向到主页)
登录系统是由David Mosher根据这些教程创建的:
Angular JS简介
End to End with Angular JS
Angular JS的安全性
不确定你是否已经弄清楚了,但是如果有人在这里着陆,下面一件事可能是负责的(并且在我刚刚调试完的代码中):
<a href="#" ng-click="deleteComment()">x</a>
这将运行deletecomement并遵循路由#
。添加href="#"
(或href=""
)是一个坏习惯,<a></a>
可以不使用href,在这种情况下,应该这样做。所以不需要重定向也可以:
<a ng-click="deleteComment()">x</a>
希望它能帮助那些降落在这里的人;)
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- 花式框默认关闭在表单重定向后不起作用
- 角度视图自动重定向到默认(否则)视图
- 单击后响应重定向到路由器 URL 并显示默认页面
- 如何使用Javascript重定向到默认值/感谢
- 如何用“重定向”来重定向网页;http错误404”;自动切换到默认网页
- Angular.js:prettyPhoto URL重定向到Angular路由中提到的默认页面
- 使用node.js和angularjs将未经身份验证的用户重定向到默认URL
- JavaScript-如果表单的文本字段中的默认值发生更改,则强制重定向
- Window.location.htm在默认ngRoute重定向后丢失
- 协议重定向错误地将React JS应用程序路由到IE9的默认页面
- JS+IE9(默认安全性):自动重定向到clickonce应用程序
- 是否可以使用浏览器的默认返回按钮使用jquery进行重定向?
- 当使用Angular JS和Laravel删除注释时,被重定向到默认的应用路由
- 用ui-router重定向到AngularJS中的默认嵌套状态
- React Router默认路由重定向到/home
- 量角器,登录到asp,net MVC登录页面,等待默认页面,然后重定向到angular页面并做测试…