Angular と RESTful Web サービスを使用して検索機能を構築しようとしています。私はAngularの完全な初心者ですので、ご容赦ください。
イベント処理と Web サービスとの通信が有線で動作しています。問題は、検索クエリの結果を $http 成功コールバックの $scope に割り当てると、ビューが更新されないことです。
ただし、$http
コールバックでデータを取得し、静的データを使用してこのコールバックでモデルを更新しようとしても、これも表示されません。
$scope
結果レコードを間違ったものにプッシュしているのか、それとも何が起こっているのか、完全に途方に暮れています。$scope.$apply()
モデルの更新が既に進行中のため、機能しません。Angular のさまざまなバージョンも試しましたが、役に立ちませんでした。代わりに $resource を使用$http
しても、問題は解決しませんでした。
誰でもアイデアを得ましたか?前もって感謝します
また、コントローラーにもう少し診断機能を備えたJSFiddleをセットアップしました
私のHTML:
<div ng-app="myApp"> <div ng-controller="SearchCtrl"> <div ng-repeat="result in results" class="result"> <div class="ボード"> <div class="name">{{result.board}}</div> <div class="posts">{{result.posts}}</div> <div class="clear"></div> </div> <div class="clear"></div> </div> </div> <div> <form ng-submit="doSearch()" ng-controller="SearchCtrl" name="search" id="search"> <input type="text" value="" ng-model="searchTerm" name="q" id="searchterm"></input> <button class="search" id="searchbtn" type="submit">検索</button> </フォーム> </div> </div>
私のコントローラー:
myApp.controller('SearchCtrl', function ($scope, $http) {
$scope.results = [];
$scope.doSearch = function () {
data = 'json=' + encodeURIComponent(angular.toJson([{
board: "one", posts: 435
}, {
board: "two", posts: 123
}]));
$http.post('/echo/json/', data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(function (data) {
for (var i in data) {
$scope.results.push(data[i]);
}
});
};
})