7

私はAngularJSとJavascriptを使用するのは本当に初めてです。次のようなJSONソースからtotalResultsデータを取得する必要があります。

{
 "queries": {
  "request": [
   {
    "totalResults": "51"
   }
  ]
 }
}

データを取得したら、AngularJSを使用してリストに表示する必要があります。.ajaxと.getJSONを使用して一生懸命努力しましたが、JavaScriptの使用に関する知識が完全に不足しているため、どちらも機能させることができません。私は本当にあなたの助けに感謝します!私のAngularJSは次のようになります:

function MyController($scope){
        $scope.url = "https://www.googleapis.com/customsearch/v1?key=[MYKEY]&cx=[MYSECRETKEY]&q=flowers&alt=json&fields=queries(request(totalResults))";
        $scope.newMessage = "";
        $scope.messages = ["Steve Jobs - 515,000,000 results"]; 

        $scope.add = function(){
            $scope.messages.push($scope.newMessage);
        };
        }
  }

HTMLの部分では、これがあります。

<input type="text" ng-model="newMessage">
    <input type="submit" ng-click="add()" value="Click to find out!">

ユーザーがボタンをクリックしたときに、URLが呼び出されるようにしたいので$scope.newMessage、totalResultsの値にする必要があります。ご協力いただきありがとうございます!

4

3 に答える 3

15

サービスを使用できます$httpドキュメント

だからあなたはできる:

$scope.add = function(){
  $http.get($scope.url).then(function(response) {
            $scope.newMessage = response.data.queries.request.totalResults;
            $scope.messages.push($scope.newMessage);
  });
};
于 2013-01-22T20:17:41.387 に答える
1

AngularJSが提供する$httpサービスを少し読んでください

これがあなたが使うであろうコードへのヒントです

$scope.add = function(){
    $http.get(url).then(function(response){
        queries = response.queries;
        $scope.newMessage = queries.request.totalResults;
    })
}
于 2013-01-22T20:25:09.863 に答える
1

http://plnkr.co/edit/nZkYsxLHLvf3SZNiJKic?p=infoを参照してください

あなたのリンクをたどって、私はちょうど1つのエラーを見つけました:

var x = searchResults.split('.');

置換する場合、関数split()はありません:x = "abc"

結果:スティーブジョブズ-515,000,000の結果-abの結果dsgdfg-abの結果

于 2015-08-11T12:05:23.760 に答える