1
從Ionic和Angular應用程序發出對HTTP REST API的獲取請求。在家庭網絡上提出請求時,API會正確接收並響應每個請求。
但是,當我在4g數據連接上發出相同的請求時,只有第一個請求成功。在接下來的所有請求中,服務器都不會收到所述請求,但$ http.get就像接收到響應並報告狀態碼爲200.在這種情況下,「響應」永遠不會改變初始請求導致的響應。
清除應用程序數據將重新啓動此循環:清除成功後的第一個請求,並且該響應會重複。
這是發出GET請求的函數。 res
的內容顯示在下面的屏幕截圖中。
this.getSongInfo = function() {
return $http.get('http://REDACTED:8080/getName').then(function(res) {
console.log(res);
return res.data;
}, function(err) {
console.log(err);
return false;
});
}
UPDATE Lex的答案幫助。我沒有意識到我無法將$ httpProvider注入到服務中。一旦我添加它作爲我的app.config一切似乎正常工作。仍然不確定爲什麼只有在數據連接時才進行緩存,但在角度文檔中找不到任何數據連接啓用緩存的情況。
按照[本答案](http://stackoverflow.com/a/19771501/548997)中所述禁用緩存是否有任何影響? – Lex
謝謝,這已經成功了。我早些時候嘗試過使用這個解決方案,但是我沒有意識到我不能在服務中使用$ httpProvider。現在,我已經把它放在我的app.config中,似乎按預期工作。 – papahummle
@Lex,你應該讓你的評論一個答案 – Ladmerc