如何使用angularJs将json响应从一个html页面传递到另一个html页面?

如何使用angularJs将json响应从一个html页面传递到另一个html页面?,json,angularjs,Json,Angularjs,我有一个用laravelphp编写的用于搜索功能的api。当我在输入标记中键入一些字符串并单击搜索按钮时,我正在搜索json响应 现在我要做的是在ngClick上打开一个新的html页面,比如说“search.html”,并使用angularjs显示json响应 我做不到,可能是我的知识之湖:)。谁能告诉我怎么做 这是我的密码: // Search Controller QAApp.controller('SearchCtrl', function ($scope, $http) { $

我有一个用laravelphp编写的用于搜索功能的api。当我在输入标记中键入一些字符串并单击搜索按钮时,我正在搜索json响应

现在我要做的是在ngClick上打开一个新的html页面,比如说“search.html”,并使用angularjs显示json响应

我做不到,可能是我的知识之湖:)。谁能告诉我怎么做

这是我的密码:

// Search Controller

QAApp.controller('SearchCtrl', function ($scope, $http) {

  $scope.search = function (searchtag) {
           var request = $http({
                          method: 'GET', 
                          url: server + 'api/question/tagged/' + searchtag,
                        });
                request.success(function(data, status, headers, config) {
                console.log(data);
                $scope.qa = data;
            });

        }

  });
html页面为:

<div class="collapse navbar-collapse navbar-ex1-collapse" ng-controller = "SearchCtrl">
                        <div style = "float: right; margin-top: 7px;" class="col-sm-3 col-md-3">
                            <form class="navbar-form" role="search">
                                <div class="input-group">
                                    <input type="text" class="form-control" placeholder="Search...." name = "tag"  ng-model = "tag">
                                    <div class="input-group-btn">
                                        <button type="submit" class="btn btn-primary"  ng-click = "search(tag);">
                                            <span class="glyphicon glyphicon-search"></span>
                                        </button>
                                    </div>
                                </div>
                            </form>
                        </div>

在这里,您有两个不同的页面,当您从一个页面移动到另一个页面(无SPA)时,页面将完成刷新…因此,如果您想在全局变量、服务甚至$rootScope中使用它,这些变量将被刷新,因此将无法工作

为了应对这种情况,我们需要使用cookies、querystring或浏览器localStorage

为了在Angularjs中使用本地存储,您需要在两个页面中都包含一个脚本,用于Angularjs的本地存储

代码示例如何使用它:

angular.module('yourModule', ['LocalStorageModule'])
.controller('yourCtrl', [
  '$scope',
  'localStorageService',
  function($scope, localStorageService) {
    // Start fresh
    localStorageService.clearAll();

    // Set a key
    localStorageService.set('Favorite Sport','Ultimate Frisbee');

    // Delete a key
    localStorageService.delete('Favorite Sport');
}]);

/*
To set the prefix of your localStorage name, you can use the setPrefix method 
available on the localStorageServiceProvider
*/
angular.module('yourModule', ['LocalStorageModule'])
.config(['localStorageServiceProvider', function(localStorageServiceProvider){
  localStorageServiceProvider.setPrefix('newPrefix');
}]);
图书馆的主要功能:

  • .set:在本地存储空间中设置键值
  • .clearAll:清除localStorage中的所有密钥
  • .删除:删除密钥
  • .get:从localStorage获取密钥

  • 你有打开页面的代码吗?我已经创建了一个html页面,点击html页面中的json响应显示。我只创建了一个html页面。如果你知道我该怎么做,请告诉我…….你想要一个html响应另一个html…是spa还是完全不同的页面…我的意思是这些模板或页面?这是完全不同的页面…….我的搜索UI在一个html页面上,单击搜索按钮后,获取json响应,我必须在另一个页面上显示。因此,单击两个事件,一个是获取响应,另一个是在另一个html页面上显示它。所以,这两个事件一起发生获取和显示数据…………我无法做到这一点,你能给我举个例子吗,我对angularjs是新手,不了解如何做到这一点……@AnitaMehta你可以在这里阅读