0
我正在嘗試使用Angular JS構建一個簡單的應用程序。這裏我有兩個html文件(Login.html & Dashboard.html)。當我運行Login.html時,它運行良好並且在成功登錄時,我需要在登錄時顯示帶有json數據(從服務器)填充的用戶儀表板。Angular js從登錄頁面重定向到儀表板以及json數據
這裏是我的代碼:(main.js)
var app = angular.module('NovaSchedular', []);
app.factory('MyService', function()
{
var savedData = {}
function set(data)
{
savedData = data;
}
function get()
{
return savedData;
}
return {
set: set,
get: get
}
});
function LoginController($scope,$http,MyService,$location)
{
$scope.login = function(str) {
console.log(".......... login called......");
var validEmail=validateEmail(email.value);
if(validEmail && password.value != ""){
$http.post('./nova/TaskManager/public/user/login?email='+email.value+'&password='+password.value).success(function(data, status)
{
console.log(data);
var result=data.response;
console.log(result);
if (result=="success")
{
$scope.userId=data.user_id;
$scope.email=data.email;
$scope.Name=data.name;
$scope.password=data.password;
$scope.Type=data.type;
console.log("........"+$scope.userId);
console.log("........"+$scope.email);
console.log("........"+$scope.Name);
console.log("........"+$scope.password);
console.log("........"+$scope.Type);
MyService.set(data);
console.log(data);
alert(data.message);
window.location.href='./Dashboard.html';
//$location.path('./Dashboard.html', data);
}
else
alert(data.message);
});
}
}
}
function DashboardController($scope,$http,MyService)
{
$scope.userInfo = MyService.get();
}
點此登錄成功後,我收到的LoginController下的服務器響應(JSON數據)好。現在,我需要在儀表板頁面上提供這些數據,以便儀表板可以填充相應的用戶數據。
我通過嘗試此:
window.location.href='./Dashboard.html';
//$location.path('./Dashboard.html', data);
但它並沒有爲我工作。它重定向到Dashboard.html,但不包含我需要從LoginController傳遞到DashboardController的數據。因此,它可用於Dashboard.html頁面。
在控制檯上看到Dashboard.html時,它是空的json在那裏顯示。
不知道缺什麼。爲什麼它沒有傳遞數據。
任何建議,將不勝感激。
它仍然不工作。 – NawazSE 2014-09-01 05:13:17
使用此代碼。我認爲它會工作 – 2014-09-01 06:29:42
沒有這個代碼不起作用。 – NawazSE 2014-09-01 07:45:35