繁体   English   中英

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

[英]How to detect an HTTP request of a browser using Javascript?

我正在开发一个ASP.NET MVC 3 Web应用程序。 我需要从我的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这样的MyXhrInstance ......
  • 使它成为该函数的局部变量,而不是window对象的全局属性

捕获来自我的Web界面的任何Web请求

您应该使用库函数,或者至少在任何地方使用常用的function loadXMLDoc() 没有必要在任何地方都这样做,遵循DRY原则。 使用该函数的参数使其适应,而不是使用固定的URL。

...并在其标题中添加一些值

只在常用的功能中执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM