Итак, я использовал приведенную ниже функцию для обнаружения ajax-вызова.
var oldXHR = window.XMLHttpRequest;
function newXHR() {
var realXHR = new oldXHR();
realXHR.addEventListener("readystatechange", function() {
if(realXHR.readyState==1){
alert('server connection established');
}
if(realXHR.readyState==2){
alert('request received');
}
if(realXHR.readyState==3){
alert('processing request');
}
if(realXHR.readyState==4){
alert('request finished and response is ready');
}
}, false);
return realXHR;
}
window.XMLHttpRequest = newXHR;
Это работает, но теперь мне нужен URL этого конкретного ajax-запроса.У меня есть функции, как показано ниже: -
function loadFundSimulation(num_days = ''){
var url = "<?php echo site_url('investment_plan/simulation/FUND'); ?>";
$.post(url, data).done(function (response,status,xhr) {
#....code....#
}).fail(function (data) {
#....code....#
});
}
Когда в это время вызывается ajax, я хочу URL-адрес этой функции.У меня много таких функций.Когда я получаю URL-адрес, я хочу добавить ? Debug = 1 в конце URL-адреса.Я пытался alert(this.url);
, но он возвращал undefined .Любая помощь будет оценена.Заранее спасибо.
Редактировать
var open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, uri, async, user, pass) {
this.addEventListener("readystatechange", function(event) {
if(this.readyState == 4){
var self = this;
var response = {
method: method,
uri: uri,
responseText: self.responseText
};
response.uri = uri + '?debug=1';
console.log(response);
} else {
console.log(this.readyState);
}
}, false);
open.call(this, method, uri, async, user, pass);
};
У меня есть URL-адрес этого запроса AJAX, и я также добавил ? Debug = 1 .Когда я console.log(response);
вижу, что URL изменяется, но я все еще не вижу никакой ошибки.Пожалуйста, дайте мне знать, что я должен сделать что-нибудь еще для этого.