2016-10-13 26 views
4

私はプロジェクトを進めており、AngularJSを使用してNode.js + MongoDBバックエンドにAPIリクエストを行うことはできません。Angularを使用して検索結果を表示

私のようなインスタンス化APIのルートがあります。

app.get("/search_database/:queryString", function(req, res) { ... }); 

をそして、私はブラウザ上(生JSONで)、これらの結果を表示するように角度を使用してフロントエンドに何かを構築しようとしている - 無駄に。ブラウザからのAPIリクエストは私が望むものを示していますが、AngularJSでも同じことができるようにしたいと考えています。

ご了承ください。ありがとう!

これは私がこれまで持っているものです。

test.htmlという

<html ng-app="test"> 
<head> 
    <meta charset="utf-8"> 
    <title>Angular.js JSON Fetching Example</title> 
     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> 
    <script> src="core.js"</script> 
    </head> 

    <body ng-controller="searchCntrlr"> 
     <div> 
     <input class="search-bar-input", ng-model="searchText"/> 
     </div> 

    {{results}} 
    </body> 


</html> 

のCore.js

var app = angular.module("test",[]); 

app.controller('searchCntrlr', $scope, $http) { 
    $http. 
     get('/search_database/:searchText/' + $scope.searchText). 
     success(function(res){ 
     $scope.results = res.data; 
     }); 
    }; 

答えて

1

だから私は私の問題を考え出した - 残虐なタイプミスの束を:

test.htmlというを修正しました(タイプミスがのCore.jsのためにであった)

<html ng-app="test"> 
    <head> 
    <meta charset="utf-8"> 
    <title>Angular.js JSON Fetching Example</title> 
     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> 
    <script src="core.js"></script> 
    </head> 

    <body ng-controller="searchCntrlr"> 
    <div> 
     <input class="search-bar-input", ng-model="searchText" ng-change="search()"/> 
    </div> 

    {{results}} 
    </body> 

</html> 

コアを修正.js(前にapp.controllerの構文を完全に破った)

var app = angular.module("test",[]); 

app.controller('searchCntrlr', ['$scope', '$http', function($scope, $http) { 
    $scope.search = function() { 
    $http. 
    get('/search_database/' + $scope.searchText). 
    success(function(res){ 
     $scope.results = res; 
    }); 

    } 
}]); 
0

あなたが実際のような変化に検索あなたを呼び出す必要がありますこれは:

​​3210

とあなたのテンプレートでこの関数を呼び出す:

<input class="search-bar-input", ng-model="searchText" ng-change="search()"/> 

または手動でモデルを$watch、そこに検索を呼び出します。

関連する問題