0
我試圖從角度控制器發佈發佈請求後從nodejs呈現頁面。但是,頁面不會加載,並且它保持在同一頁面上。控制檯中沒有錯誤。而且在瀏覽器開發工具中,我可以看到在網絡預覽部分下加載的頁面。 這是正確的還是建議的方式?我想,控制回到控制器,而不是從節點呈現頁面。我們可以避免這種情況,還是有更好的方法來做到這一點? 任何幫助表示讚賞。嘗試通過angularjs發出發佈請求後從節點js呈現頁面
從控制器POST請求:
$http({
method : "POST",
url: '/afterSignin',
data: {
"inputUsername": $scope.inputUsername,
"inputPassword": $scope.inputPassword
}
}).success(function(data)
{
if(data.statusCode==401)
{
$scope.msg = "Invalid Username or Password";
}
else
{
console.log(data.statusCode);
console.log("login successfull");
}
服務器端代碼(afterSignIn.js)
mysql.fetchData(function(err,results){
if(err){
throw err;
}
else
{
if(results.length > 0){
console.log("valid Login");
res.render('successLogin', { data: results } , function(err, result) {
// render on success
if (!err) {
res.end(result);
}
// render or error
else {
res.end('An error occurred');
console.log(err);
}
});
控制檯輸出:
連接關閉.. DB結果:[對象的對象] 有效登錄 [0mPOST/afterSignin [32m200 [0m103.425 ms -
該呈現將作爲對'$ http'產生的ajax調用的響應來發送。除非你對此做出迴應,否則不會有任何改變。不是很清楚你期望發生什麼 – charlietfl
這是一種登錄應用程序。用戶登錄後,sucessfull登錄用戶應重定向到主頁。有沒有其他方法可以實現這一點? – ikck
通常在通過內部應用程序路由器(單頁應用程序)完成的角應用程序中。如果你想完全重新加載頁面,那麼你要麼不使用'$ http'來提交和使用瀏覽器的默認表單提交過程,或做一個JavaScript重定向成功回調 – charlietfl