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