javascript - 在angular-Js中刷新页面请求
问题描述
我是新手angularjs
。在这里我有一个问题,当我登录应用程序然后我在某个需要服务器响应的页面上。所以,
在我的控制器中,我做
if (localStorage.getItem('authToken') === null || localStorage.getItem('authToken') === undefined) {
$state.go('default.login');
} else {
/// all other part of controller
$scope.loadReports = function () {
$scope.loadingReports = true;
if ($scope.documentType === "jobDescription") {
$scope.showcheckbox = false;
$scope.showSendButton = false;
}
var jdCurrentFileName = jdService.getjdUniqueId();
uploadService.loadReports(uploadService.currentFileName, $scope.documentType, jdCurrentFileName)
.then(function (response) {
},
function (error) {
$scope.loadingReports = false;
$scope.errorMessage = error.status + " : " + error.statusText;
if (error.status === 401) {
loginService.authenticationError();
}
});
现在,这里发生的事情是,当我刷新页面时,我使用 setter 在服务中设置的所有数据都会丢失。因此,在服务中调用此服务时
loadReports: function (fileName, docType, jobId) {
var url = 'rez' + '/reports/' + docType + '/' + fileName + '/' + jobId;
var config = {};
config.headers = {
"X-AUTH-TOKEN": loginService.getAuthToken()
};
return $http.get(url, config)
.then(function (response) {
return response.data;
},
function (error) {
$log.error(error);
return $q.reject(error);
});
},
如果您看到,则 jobId 来自服务设置器但是当我刷新时,所有服务设置值都会丢失。所以,任何人都可以帮我解决这个问题吗?如何在 Angular 中进行刷新请求?
解决方案
AngularJS/Angular 中的单页应用程序不是为适应浏览器刷新而设计的。浏览器刷新后需要保留的值需要存储在 storagelocalstorage
或sessionstorage
. 利用
设置
localstorage.setItem("yourkey",value);
sessionstorage.setItem("yourkey",value);
检索
localstorage.getItem("yourkey");
sessionstorage.getItem("yourkey");
如果您打算通过浏览器刷新来刷新页面上显示的数据,那么您必须让对象监听一个事件(可能导致您的数据更改的事件)
推荐阅读
- javascript - 如何知道从 mouseclick 或按下 enter 键调用了 onclick 事件
- nginx - 单个 K8s 集群和 Nginx 控制器上的多个环境
- sql - 获取第 1 天、第 7 天、第 14 天、第 21 天和第 28 天的数据
- ios - 无法离线构建依赖 pod 的 iOS 项目
- azure - 无法分配 LUIS 创作 API
- javascript - 使用属性根据选项卡 ID/href 在页面加载时激活特定选项卡
- python - CSV 'A$ 12,000.00' 从字符串与 pandas 和 read_csv 一起浮动
- javascript - JS从多个文本区域生成表格
- php - 关闭准备好的语句
- fix-protocol - 如何关闭 FXCM FIX 头寸