【问题标题】:Determining JavaScript functions making HTTP Requests确定发出 HTTP 请求的 JavaScript 函数
【发布时间】:2010-11-26 20:04:55
【问题描述】:

我正在尝试调试一些特别讨厌的 Javascript。具体来说,我试图确定哪些函数正在发出某些 http 请求。由于 .js 文件的剪切大小和质量普遍较差,这并不像手动搜索文件那么容易。

我对 Fiddler 和 Firebug 有模糊的经验,这是这些应用程序内置的功能吗?如果可能的话,有没有更好的方法来做到这一点?

【问题讨论】:

    标签: javascript http httprequest


    【解决方案1】:

    无论文件的大小或质量如何,您都应该能够使用 grep 搜索关键字“XMLHttpRequest”并在使用它的位置设置断点。

    您还可以在页面加载时,在调用其他任何内容之前,对 XMLHttpRequest 全局进行猴子补丁:

    var open = XMLHttpRequest.open;
    XMLHttpRequest.open = function(){
      console.log(this, arguments);
      return open.apply(this, arguments);
    };
    

    或者更复杂的东西。

    【讨论】:

      【解决方案2】:

      在 Google Chrome 的开发版本中,您现在可以破解任何 XHR 上的代码。 (扳手 > 工具 > 开发者工具)

      【讨论】:

        【解决方案3】:

        是的!在 firebug 中,转到顶部菜单上的“Net”,然后从下面的菜单中选择“XHR”,以查看在访问页面期间进行的所有 ajax 调用。这将显示大量信息,例如调用的持续时间和请求/响应标头。

        【讨论】:

        • 我认为它不会告诉您触发请求的函数,只是围绕请求本身的详细信息的信息。
        • 真的......我以为我在某个地方看到过它,但我错了。
        • 不过,这应该有助于缩小一些潜在的代码触发器。
        猜你喜欢
        • 2018-09-28
        • 1970-01-01
        • 1970-01-01
        • 2018-12-18
        • 1970-01-01
        • 1970-01-01
        • 2016-08-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多