각도 js에서 Express.js api로 $ http pst ajax 호출이 있습니다. Express.js 부분에서는 노드의 비동기 모듈을 사용하여 코드의 일부 직렬 실행을 수행합니다. 특정 페이지로 리디렉션 할 문제가없는 경우 내가 res.render ('url')를 사용하면 각도에서 아약스 호출을하고 있기 때문에 이것은 대신 페이지를 리다이 렉팅하지 않고 angularjs에 경고합니다. BTW 나는 각도에 $ routeProvider도 가지고 :). 즉, 각 AJAX POST 호출Angularjs Express.Js 리다이렉션 각도 Ajax 호출 문제
코드 후 리디렉션 부분 템플릿을로드하는 것입니다
app.controller('MainCtrl',function($scope,$http){
$scope.loginForm=function(){
alert($scope.username);
$http.post('/login',{'name': $scope.username}).
success(function(data) {
alert(data);
}).
error(function(data) {
alert(data);
});
}
});
Node.js를 (Express.js)의 유효성을 검사하고 리디렉션을
app.post를 만들기 위해 API ('/ 로그인 ', function (req, res) {
var name= req.body.name;
//var password= req.body.password;
async.series([
function (callback){
var query= client.query('select count(*) as lgResult from Login where Email='+'"'+req.body.name+'"',function(err,result,field){
if(err) return callback(err);
if(result[0]['lgResult'] === 0){
res.send('passwordWrong');
}
if(result[0]['lgResult'] === 1){
callback(null, 'one');
}
});
},
function (callback){
var query= client.query('select count(*) as lgResult from Login where Email='+'"'+req.body.name+'"',function(err,result,field){
if(err) return callback(err);
if(result[0]['lgResult'] === 0){
res.send('passwordWrongSecondtime');
}
if(result[0]['lgResult'] === 1){
callback(null, 'two');
}
});
}],
function (err,results){
if(err) {
console.log(err);
res.send('Something Broke sorry');
}
else{
res.render('employelogin/employlogin');
}
});
}); 여기 내 실수
오류를 받으셨습니까? 그들은 무엇인가? –
리디렉션 대신 오류가 발생하지 않습니다. 내 각도 js 측면에서 경고를 받고 있습니다. – Madhu
@EliranMalka Atlast가 작동하는 방법을 찾았습니다. 가장 좋은 방법인지 확실하지 않습니다. res.contentType ('application/html'); var data = 'emplogin/empr/:'+ results; res.header ('Content-Length', data.length); res.end (data); Angularjs 측에서 사용할 수 있습니다 $ windows.location = data; – Madhu