0
私は機能を持っています、ログイン目的で$ http.postを持っています。成功した場合、別の$ http.postは、データベースからデータを取得するPHPファイルを呼び出します。問題は、私がlocalstorageからデータをロードしようとすると、それは私にnullを返すことです。それはなぜそうですか?
$scope.loginUser = function()
{
var data =
{
username: $scope.loginInfo.username,
password: $scope.loginInfo.password
}
$http.post("endpoints/login.php", data).success(function(response)
{
if(response==="ERROR")
{
//DONT DO ANYTHING
}
else
{
localStorage.setItem("token", JSON.stringify(response));
console.log("loginController: name is this " + localStorage);
fetchDataFunction(data);
$state.go("application");
//$state.go("application", result);
}
}).error(function(error)
{
console.error(error);
});
}
fetchDataFunction = function(data)
{
$http.post("endpoints/fetchData.php", data).success(function(response)
{
localStorage.setItem("data", JSON.stringify(response));
}).error(function(error)
{
console.error(error);
});
}
フロープロセスはどんな意味がありません。なぜあなたはアプリケーション状態でfetchDataをしませんでしたか? – charlietfl
こんにちは、私の意図は、ログイン直後にデータベースからすべてのデータを取得し、アプリケーションページをロードし、そこにすべてのデータを表示することです。 – BlackHazelNut
そうですが、ノルムは状態自体に必要なものをロードすることです。コントローラとテンプレートがロードされる前にすべてが利用可能になるように 'resolve'でそれを行うことができました。今すぐfetchDataリクエストが完了する前に状態を切り替える – charlietfl