$ location.search()在重新加载页面时返回空对象

时间:2016-05-17 15:56:29

标签: angularjs url

我正在使用AngularJs构建一个Web应用程序。我有一个搜索页面。每次用户录制查询我从后端获取数据并使用 $ location.search() service。当用户点击刷新按钮时,我想保存视图的状态(相同的查询)。我使用$ location.search()来获取当前查询,但它返回一个空对象并重新加载控制器甚至范围都消失了(包含用户查询的范围)。我正在使用ng-route并配置reloadOnsearch = false。如何使用$ location.search()服务处理URL更改和刷新按钮?

$(document).ready(function() {
  var images = {
        OK: 'http://placehold.it/40/00cc33/ffffff',
        WARNING: 'http://placehold.it/40/ff6600/000000',
        CRITICAL: 'http://placehold.it/40/ff0000/000000',
        UNKNOWN: 'http://placehold.it/40'
    };

    $.ajax({          
        type:  'GET',
        url:   'https://status.clook.net/xml/status/harvey.xml',
        dataType: 'xml',              
        success: function(xml){
           var http = $(xml).find('http').text();
           var ftp = $(xml).find('ftp').text();
           var mysql = $(xml).find('mysql').text();
           var load = $(xml).find('load').text();

          $('.http img').attr({
            src: images[http],
            alt: "HTTP Status "+ http +""
          });

          $('.ftp img').attr({
            src: images[ftp],
            alt: "FTP Status "+ ftp +""
          });

          $('.mysql img').attr({
            src: images[mysql],
            alt: "MySQL Status "+ mysql +""
          });

          $('.load img').attr({
            src: images[load],
            alt: "Load Status "+ load +""
          });

        }
    });
});

1 个答案:

答案 0 :(得分:0)

显然刷新后它会是空白的。 '$ location.search(' 查询 'URI);'将仅更改或更新浏览器的地址栏。所以刷新后你可以使用$ stateParams.query从浏览器地址栏中获取这个值,并在任何你想要的地方使用它... :) 希望它会帮助你。 :)