Непонятно, о чем ты спрашиваешь. Часть «чтобы я мог видеть, есть ли запрос, который я ищу», говорит мне, что вы хотите отладить свой сайт, или, по крайней мере, это моя интерпретация.
Если вы используете Chrome или Firefox Developer Edition , вы можете нажать F12 (или CTRL + SHIFT + J), чтобы открыть консоль разработчика.
Перейдите на вкладку «Сеть», и вы увидите все запросы XMLHTTP. Нажмите на конкретный запрос, и вы увидите его детали.
Базовый 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();
И если вы хотите получить параметр с именем«file» внутри URL, это выглядит как
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, вы должны быть используя FETCH-API с async и await , а не XMLHttpRequest-API, который не использует обещаний .
Вот краткий обзор .
Редактировать: Ах, я вижу:
Если у вас есть URL-адрес, например
var url = "http://www6.scratch99.com/web-development/javascript/test.js?abc=def";
youсделать
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];