如何使用Javascript检测浏览器的HTTP请求?

如何使用Javascript检测浏览器的HTTP请求?,javascript,jquery,asp.net-mvc-3,httpwebrequest,xmlhttprequest,Javascript,Jquery,Asp.net Mvc 3,Httpwebrequest,Xmlhttprequest,我正在开发一个ASP.NETMVC3Web应用程序。我需要捕获来自web界面的任何web请求,并将一些值添加到其标头中。因此,我正在研究如何使用Javascript检测来自web浏览器的http请求。我不知道这是否可能 我尝试了这个Ajax请求,效果很好 function loadXMLDoc() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Sa

我正在开发一个ASP.NETMVC3Web应用程序。我需要捕获来自web界面的任何web请求,并将一些值添加到其标头中。因此,我正在研究如何使用Javascript检测来自web浏览器的http请求。我不知道这是否可能

我尝试了这个Ajax请求,效果很好

    function loadXMLDoc() {

        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            window.XmlHttpRequest = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            window.XmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }

          window.XmlHttpRequest.onreadystatechange = function () {
          alert(window.XmlHttpRequest.readyState + "  " + window.XmlHttpRequest.status);

          if (window.XmlHttpRequest.readyState == 4 && window.XmlHttpRequest.status == 200) {
             document.getElementById("myDiv").innerHTML = window.XmlHttpRequest.responseText;
          }
        };

        window.XmlHttpRequest.open("GET", "@Url.Action("TestActionForJScripts","User")", true);
        window.XmlHttpRequest.setRequestHeader("TestKey", "TestValue");
        window.XmlHttpRequest.send();
    }
但我不需要创建请求对象。我试图捕捉从按钮、链接等生成的请求

window.XmlHttpRequest = new XMLHttpRequest();
XmlHttpRequest
看起来像一个构造函数,因为它的大写名。你应该

  • 将其重命名为小写,这样比较容易混淆,或者至少使用类似于
    MyXhrInstance
  • 使其成为该函数的局部变量,而不是
    窗口
    对象的全局属性
捕获来自我的web界面的任何web请求

您应该使用一个库函数,或者至少使用一些常见的函数,如
函数loadXMLDoc()
。没有必要到处这样做,遵循干燥原则。使用该函数的参数使其具有适应性,而不是使用固定的url

…并将一些值添加到其标题中


只在常用函数中执行此操作。

如果您注意到,代码实际上不会覆盖
XMLHttpRequest
,因为它定义了
XMLHttpRequest
,从
Xml
开始。非常混乱。谢谢,我调整了我的答案。谢谢你们!这很有帮助。