以angular-Js刷新页面请求

时间:2018-06-05 09:14:02

标签: javascript jquery html css angularjs

我是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来自服务设置器但是当我刷新时,所有服务设置值都会丢失。那么,任何人都可以帮我这个吗?如何以角度进行刷新请求?

1 个答案:

答案 0 :(得分:0)

AngularJS / Angular中的单页应用程序不适用于浏览器刷新。 浏览器刷新后需要保留的值需要存储在存储localstoragesessionstorage中。使用

设置

localstorage.setItem("yourkey",value);  
sessionstorage.setItem("yourkey",value);  

要回复

localstorage.getItem("yourkey");
sessionstorage.getItem("yourkey");

如果您打算通过浏览器刷新来重新填充页面上显示的数据,那么您必须使对象监听事件(可能导致数据更改的事件)