在页面上查找HTTP请求的来源

时间:2009-12-28 16:46:00

标签: javascript debugging

如何确定在javascript应用程序中发出请求的位置?

我正在调试一个大型应用程序,它在某处生成了错误的HTTP请求。我相信我没有使用生成请求的API(Google地图)正确配置。如果我能找出请求的位置,那么我可以追溯到URL的构造,看看我需要设置正确的参数。

是否可以(在Safari / Chrome / Firefox中使用Firebug或其他任何东西)在发出任何请求时中断?

3 个答案:

答案 0 :(得分:4)

在Firebug中有一项新功能可让您在制作XmlHttpRequest时中断。然后,您可以检查堆栈以查看调用者是谁:

  • Break-on-XHR

      

    打破下一个网络活动

         
        
    1. 如果您在调试器中停止,请单击蓝色继续按钮或重新加载页面
    2.   
    3. 选择Firebug Net Panel
    4.   
    5. 单击“下一个中断”或“暂停”按钮()
    6.   
    7. 点击此按钮Break On XHR
    8.   
    9. Firebug将破坏XHR事件
    10.   

如果请求是通过常规dom操作(如插入图像标记)进行的,则可以在DOM更改时中断:

LiveHttpHeaders加载项也可用于监视所有HTTP请求,然后您可以使用grep来查找所使用的某些标识符。

在Firebug中设置断点的其他几种方法:

  • 将此break语句插入代码中:

    debugger; 
    
  • 打开脚本标签,然后在

  • 中选择要中断的行

答案 1 :(得分:3)

我不确定您是否可以将其配置为在每个请求中断,但在FireBug中,您可以使用NetConsole(对于ajax)标签查看列表所有传出的请求。

答案 2 :(得分:1)

如果您正在寻找一个好的插件,您可能会发现Tamper Data(对于Firefox)非常有用。一旦启动'Tamper',它将弹出一个消息框,显示所有http POST详细信息,包括各种属性的值。