因此,我已使用以下功能检测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;
它正在工作,但是现在我需要该特定的ajax请求的URL。我有如下功能:-
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。我有很多这样的功能。收到网址后,我想在网址末尾附加?debug = 1 。我尝试过alert(this.url);
,但返回的是未定义。任何帮助将不胜感激。提前致谢。
修改
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);
};
我已经获得了该Ajax请求的网址,并且还附加了?debug = 1 。当我console.log(response);
时,我看到URL被更改了,但仍然看不到任何错误。请让我知道我必须为此做其他事情。
答案 0 :(得分:1)
经过大量搜索后,这是执行此操作的最佳方法。虽然仅在铬上测试。
IEnumerable<Person>