2017-07-04 48 views
1

是否可以重寫XMLHttpRequest並模擬回調響應?覆蓋XMLHttpRequest並模擬響應

喜歡的東西:

window.XMLHttpRequest.prototype.open = function() { 
 
     var url = arguments[1]; 
 
     if (url === 'someUrl' && isOnline === false){ 
 
      //Return a fake reponse to the request... 
 
     } 
 
     ... 
 
    }

這將是真的很好做這在我的PhoneGap的應用程序,因此,如果用戶離線,我可以檢索我的本地SQLite數據庫的響應。

+0

你試過了嗎?使用'open'返回一個值不會模擬XMLHttpRequest實際工作的方式,所以你需要重新思考整個想法 - 但是,而不是擺弄XHR的內部,爲什麼不有條件地使用XHR - if(url ==='someUrl'&& isOnline === false){假的響應} else {use XHR}' –

+0

XHR請求由JS框架完成,這就是爲什麼我想模仿成功或錯誤響應。 – aluferraz

+0

而不是讓你的手凌亂'原型'..我會建議使用網絡插件來檢測設備是否離線或不... ...並使用IF語句來選擇要求從互聯網上的數據或運行功能在本地處理請求。 –

回答

0

解決方案是使用mockjax插件。