ノード/エクスプレスAPIをポーリングするIonicアプリがあります。イオンビューでAPIのデータが更新されない
アプリが起動すると、APIからJSONデータを正しく取得します。データを更新してIonicアプリから再度取得すると、アプリが起動された時点からの古いデータが引き続き表示されます。
角度キャッシュとIonicキャッシュの両方をさまざまな方法でクリアしようとしましたが、違いはありません。
我々が試した事がある:
$ionicConfigProvider.views.maxCache(0);
、テンプレート上cache-view="false"
は、状態にcache: false
を設定し、$state.go($state.currentState, {}, {reload : true});
、$ionicHistory.clearHistory();
と$ionicHistory.clearHistory();
、$route.reload
と$window.location.reload
を経由して状態にアクセスしてみました。
コントローラー:
function contactsController(Contacts, $stateParams) {
var vm = this;
var params = $stateParams.id;
Contacts.getAllContacts.then(function success(response) {
vm.data = response.data;
vm.selectedContact = response.data[params];
});
}
工場
function contactsFactory($http, $stateParams) {
return {
getAllContacts: $http.get('https://api-call'),
update: function(url) {
$http.patch('https://api-call/update', [$stateParams.id, url]);
},
};
}
エクスプレスバックエンド
app.get('/', function (req, res) {
ref.once("value", function(snapshot){
res.send(snapshot.val());
});
});
app.patch('/update', function(req, res) {
var id = req.body[0];
ref.child(id).update({"imageURL": req.body[1]});
});
おかげ
ルーティングと表示の両方でキャッシュを無効にしましたか? – abdoutelb
はい、ありがとうございました。私はちょうど既に試みたすべてを含めるために投稿を更新しました。 – bkgrubb