web-dev-qa-db-ja.com

angularJSを使用してJSON urlからデータを取得する

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の値である必要があります。ご協力いただきありがとうございます!

7
Prajoth

$httpサービスを使用できます: Documentation

だからあなたはできる:

$scope.add = function(){
  $http.get($scope.url).then(function(response) {
            $scope.newMessage = response.data.queries.request.totalResults;
            $scope.messages.Push($scope.newMessage);
  });
};
15

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

ここにあなたが使うコードのヒントがあります

$scope.add = function(){
    $http.get(url).then(function(response){
        queries = response.queries;
        $scope.newMessage = queries.request.totalResults;
    })
}
1
Arshabh Agarwal

参照 http://plnkr.co/edit/nZkYsxLHLvf3SZNiJKic?p=info

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

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

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

結果:Steve Jobs-515,000,000件の結果-a.bの結果dsgdfg-a.bの結果

1
Quỳnh MSO