如何使用Javascript检测浏览器的HTTP请求?
我正在开发一个ASP.NETMVC3Web应用程序。我需要捕获来自web界面的任何web请求,并将一些值添加到其标头中。因此,我正在研究如何使用Javascript检测来自web浏览器的http请求。我不知道这是否可能 我尝试了这个Ajax请求,效果很好如何使用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
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
- 使其成为该函数的局部变量,而不是
窗口
对象的全局属性
函数loadXMLDoc()
。没有必要到处这样做,遵循干燥原则。使用该函数的参数使其具有适应性,而不是使用固定的url
…并将一些值添加到其标题中
只在常用函数中执行此操作。如果您注意到,代码实际上不会覆盖
XMLHttpRequest
,因为它定义了XMLHttpRequest
,从Xml
开始。非常混乱。谢谢,我调整了我的答案。谢谢你们!这很有帮助。