不清楚你在问什么。
“以便我可以查看我正在寻找的请求是否存在”部分告诉我,您想要调试您的网站,或者至少,这是我对它的解释。
如果您使用 Chrome 或Firefox Developer Edition,您可以按 F12(或 CTRL + SHIFT + J)打开开发者控制台。
切换到“网络”选项卡,您将看到所有 XMLHTTPRequest。
单击特定请求,您将看到其详细信息。
一个基本的 XmlHttpReuqest 是这样的:
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "http://www.example.org/example.txt");
oReq.send();
然后你在回调函数 reqListener 中得到你的请求结果。
另见https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
如果您想获取请求处理程序的 URL,如下所示:
function reqListener (e) {
//console.log(this.responseText);
console.log(e);
console.log(e.currentTarget.responseURL);
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "https://stackoverflow.com/questions/58407228");
oReq.send();
如果你想在 url 中获取一个名为“file”的参数,就像这样
function getUrlVars(urlHref)
{
var vars = [], hash;
var hashes = urlHref.slice(urlHref.indexOf('?') + 1).split('&');
var i;
for (i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(decodeURIComponent(hash[0]));
vars[decodeURIComponent(hash[0])] = decodeURIComponent(hash[1]);
} // Next i
return vars;
} // End Function getUrlVars
var dictParameters = getUrlVars("http://www.example.com/handler?file=bla.bin");
if (dictParameters.contains("file"))
{
console.log(dictParameters["file"]);
}
对于 XMLHTTPRequest,它没有名为 file 的属性。
另外,现在是 2019 年,你应该是 using the FETCH-API 和 async 和 await,而不是 XMLHttpRequest-API,它不使用 promises。
这是getting started overview。
编辑:
啊,我明白了:
如果你有一个url,比如
var url = "http://www6.scratch99.com/web-development/javascript/test.js?abc=def";
你会的
var url = "http://www6.scratch99.com";
var urlParts = url.replace('http://','').replace('https://','').split(/[/?#]/);
var domain = urlParts[0];
获取域部分。然后减去域(+协议),并以 ?或#:
完整代码:
var url = "http://www6.scratch99.com/web-development/javascript/test.js?abc=def";
// var url = "http://www6.scratch99.com";
// var url = "http://www6.scratch99.com?test=123";
var protocol = url.substr(0, url.indexOf(":") + 3)
var urlParts = url.substr(protocol.length).split(/[/?#]/);
var domain = urlParts[0];
var fileParts = url.substr(protocol.length + domain.length);
var file = fileParts.split(/[?#]/)[0];
如果你只想要文件名:
var pathParts = file.split('/');
var fileOnly = pathParts[pathParts.length-1];