AngularJS在ng-click后重定向
AngularJS redirection after ng-click
我有一个REST API,可以从MongoDB数据库中读取/保存数据。我使用的应用程序检索表单并从中创建对象(作业(,然后将其保存到数据库。表单后,我有一个按钮,单击事件触发控制器的保存功能,然后重定向到另一个URL。
单击该按钮后,有人说该作业已很好地添加到数据库中,但应用程序被卡住并且从未调用重定向。但是,如果我重新加载我的应用程序,我可以看到新的"作业"已经很好地添加到数据库中。这???怎么了谢谢!
这是我的代码:
示例 html(jade( 代码:
button.btn.btn-large.btn-primary(type='submit', ng:click="save()") Create
角度模块的控制器:
function myJobOfferListCtrl($scope, $location, myJobs) {
$scope.save = function() {
var newJob = new myJobs($scope.job);
newJob.$save(function(err) {
if(err)
console.log('Impossible to create new job');
else {
console.log('Ready to redirect');
$location.path('/offers');
}
});
};
}
角度模块的配置:
var myApp = angular.module('appProfile', ['ngResource']);
myApp.factory('myJobs',['$resource', function($resource) {
return $resource('/api/allMyPostedJobs',
{},
{
save: {
method: 'POST'
}
});
}]);
我的nodejs应用程序中的路由:
app.post('/job', pass.ensureAuthenticated, jobOffers_routes.create);
最后是我的 REST API 的控制器:
exports.create = function(req, res) {
var user = req.user;
var job = new Job({ user: user,
title: req.body.title,
description: req.body.description,
salary: req.body.salary,
dueDate: new Date(req.body.dueDate),
category: req.body.category});
job.save(function(err) {
if(err) {
console.log(err);
res.redirect('/home');
}
else {
console.log('New job for user: ' + user.username + " has been posted."); //<--- Message displayed in the log
//res.redirect('/offers'); //<---- triggered but never render
res.send(JSON.stringify(job));
}
});
};
我终于找到了解决方案!问题出在屏幕后面 18 英寸的某个地方......
我像这样修改了角度应用程序控制器:
$scope.save = function() {
var newJob = new myJobs($scope.job);
newJob.$save(function(job) {
if(!job) {
$log.log('Impossible to create new job');
}
else {
$window.location.href = '/offers';
}
});
};
诀窍是我的 REST api 将创建的作业作为 json 对象返回,我正在处理它,就像它是一个错误!因此,每次创建作业对象时,都会返回一个 json 对象,并且由于它是非空的,因此会触发日志消息,并且从未重定向过我。此外,我现在使用 $window.location.href
属性完全重新加载页面。
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 根据select选项元素将表单重定向到不同的URL
- 在选择标记中的 ng 更改上重定向
- AngularJS在ng-click后重定向
- 硒网络驱动程序中的 Click() 操作没有帮助我重定向到另一个页面
- Angular js ngRoute 重定向到没有 ng-view 的新页面
- 使用ng repeat和ng model调用splice()时,角度重定向到主页
- 如何使用ng-click重定向
- Angularjs的ng-click在秒点击时重定向
- 如何在click函数中重定向