使用Javascript从MySQL查找动态数据

使用Javascript从MySQL查找动态数据,javascript,mysql,angularjs,node.js,Javascript,Mysql,Angularjs,Node.js,我有一个MySQL数据库,我使用Node JS从中获取数据。我还使用AngularJS进行实时搜索。以下是我的HTML代码的一部分: <div class="songlist" ng-controller='another_control'> <table id="songlistTableR" ng-app='test_table' ng-controller='main_control'> <tr><

我有一个
MySQL
数据库,我使用
Node JS
从中获取数据。我还使用
AngularJS
进行实时搜索。以下是我的HTML代码的一部分:

<div class="songlist" ng-controller='another_control'>
          <table id="songlistTableR" ng-app='test_table' ng-controller='main_control'>   
            <tr><th>Название</th><th>Ссылка</th></tr>    
            <tr ng-repeat="data in loaded | filter:search">
              <td><i class="fa fa-plus"></i>{{data.song_name}}</td>
              <td><a href="{{data.link}}" target='_blank'>Youtube</a></td>     
            </tr>
          </table>      
        </div>
和JS“核心”文件:

app.controller('main_control',function($scope,$http){
    load();
    function load(){
        $http.get("http://localhost:7001/load").success(function(data){
            $scope.loaded=data;
        });
    }
});
问题:我需要从另一个JS文件中的数据库访问此数据。例如,我想要
警报(数据[1].song\u name)
。怎么做


UPD:我已经更新了部分HTML代码,但它也不起作用。

最简单的方法是使用rootscope而不是scope

app.controller('main_control',function($scope,$http, $rootScope){
    load();
    function load(){
        $http.get("http://localhost:7001/load").success(function(data){
            $rootScope.loaded=data;
        });
    }
});
通过注入$rootScope,然后调用$rootScope.loaded,您可以从任何其他指令、控制器或服务访问此数据

在另一个控制器中

    app.controller('another_control',function($scope,$http, $rootScope){
        $scope.data = $rootScope.loaded;

        $scope.$watch('data', function(n) {
if(angular.isDefined(n)) {
alert(n[1].song_name);
}
})
    });
但是,由于您正在请求异步数据,您必须通过观察值或使用按钮或其他方式触发此警报函数


稍后,您可以实际查看本地存储、服务等,以找到更好的解决方案。

我不太理解您的问题,您能详细说明一下吗?我在这个脚本中了解了rootScope,但如何将rootScope注入另一个JS文件中?谢谢!在HTML中在哪里添加另一个
控件
,以及为什么我不能同时使用
main\u控件
?你不想在整个应用程序中使用同一个控制器,但你也可以扩展控制器的作用域以覆盖更多的代码。例如,在body标记中定义它。但这是一个相当大的范围。当它起作用时,即我可以发出警报($scope.data[1].song_name),我当然会接受。不过,你的问题与此无关。
    app.controller('another_control',function($scope,$http, $rootScope){
        $scope.data = $rootScope.loaded;

        $scope.$watch('data', function(n) {
if(angular.isDefined(n)) {
alert(n[1].song_name);
}
})
    });