【问题标题】:Override XMLHttpRequest and emulate response覆盖 XMLHttpRequest 并模拟响应
【发布时间】:2017-07-04 02:36:28
【问题描述】:

是否可以覆盖 XMLHttpRequest 并模拟来自回调的响应?

类似:

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

在我的 phonegap 应用程序中执行此操作非常好,因此如果用户离线,我可以从本地 sqlite 数据库检索响应。

【问题讨论】:

  • 你试过了吗?使用open 返回值并不能模拟 XMLHttpRequest 的实际工作方式,因此您需要重新考虑整个想法 - 但是,与其摆弄 XHR 的内部结构,不如有条件地使用 XHR - if (url === 'someUrl' && isOnline === false){ fake the response } else { use XHR }
  • XHR 请求是由 JS 框架发出的,这就是我想模拟成功或错误响应的原因..
  • 不要让你的手被“原型”弄得一团糟......我建议使用网络插件来检测设备是否离线......并使用 IF 语句来选择从互联网或运行一个函数来处理本地请求。

标签: javascript cordova xmlhttprequest python-requests phonegap


【解决方案1】:

解决方案是使用 mockjax 插件。

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 2013-07-25
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2021-12-28
    相关资源
    最近更新 更多