如何获取xmlhttp请求(AJAX)的URL
在w3schools.com(url)上,有一个如何使用纯Javascript进行AJAX调用的示例。如果看一下示例,您将看到呼叫是由一个按钮触发的:
<button type="button" onclick="loadXMLDoc()">Change Content</button>
这是功能:
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
我想做的是获取传出的AJAX调用的URL,即ajax_info.txt(URL):
xmlhttp.open("GET","ajax_info.txt",true);
我试图将URL置于警报中,所以我尝试使用getAllResponseHeaders()
希望给我的响应来调用响应的标头Host
:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
alert(xmlhttp.getAllResponseHeaders());
它确实给了我所有标头,但没有给主机。因此,我的下一个步骤是尝试设置自己使用的主机,setRequestHeader()
但随后我意识到页眉需要一个必须发送给自己的值,因此这将无法工作。我还能尝试什么方式来获取/获取警报中的传出AJAX
URL?
请注意,该代码只是一个示例,我知道由于Access-Control-Allow-Origin,禁止更改标头(在这种情况下)。
-
我不确定您对代码有多少访问权,但是您可以重写
XMLHttpRequest.open
并在其中钩住URL。XMLHttpRequest.prototype.open = (function(open) { return function(method,url,async) { console.log('the outgoing url is ',url); open.apply(this,arguments); }; })(XMLHttpRequest.prototype.open);
这是一块FIDDLE。
-
如何在URL中显示Ajax请求?
2021-02-02 关注 0 浏览119 1答案
-
如何在URL中显示Ajax请求?
2021-01-31 关注 0 浏览91 1答案
-
jQuery Ajax表单-如何获取重定向URL?
2021-01-31 关注 0 浏览127 1答案
-
如何从jsp请求对象获取基本URL?
2021-02-01 关注 0 浏览105 1答案
-
如何获取 Flask 请求的 url 的不同部分?
2022-07-28 关注 0 浏览9 1答案
-
如何从Java筛选器获取请求URL?
2021-01-30 关注 0 浏览59 1答案
-
如何从JQuery Ajax请求中获取“数据”
2021-01-31 关注 0 浏览99 1答案
-
如何从nodejs请求模块获取重定向的URL?
2021-01-31 关注 0 浏览717 1答案
-
AJAX请求中的相对URL
2021-01-31 关注 0 浏览84 1答案
-
如何在没有请求的servlet的jsf托管bean中获取请求url?
2021-01-30 关注 0 浏览76 1答案