我有一个单页面应用程序,其中所有子页面都使用jQuery.load()或.Ajax()函数加载。

我已经设置了ajaxStart()和ajaxStop在执行请求时显示动画,并且效果很好。
我使用的代码如下:

$(document).ajaxStart(function (){
    //$('.contenitore').toggle('fast');
    $('#darkLayer').show();
    document.title = 'sto elaborando...';
    resizeDiv();
}).ajaxStop(function (){
    //$('.contenitore').toggle('fast');
    $('#darkLayer').hide();
    document.title = 'J.E.N.I.U.S.';
    resizeDiv();
});


我希望能够创建用户操作的日志,因此我想将用户的操作存储在mysql日志中。有谁知道如何将传递给.load()或.ajax()函数的URL传递给ajaxStart和ajaxStop?
这样,我将可以在单点使用将记录数据的功能(用户,何时,什么)。

最佳答案

从这里获取:http://api.jquery.com/ajaxcomplete/

$.ajaxComplete(function(event, xhr, settings) {
  console.log(settings.url);
});


或者您可以全局定义beforeSend处理程序:

$.ajaxSetup({
   beforeSend: function(xhr, settings) {
     console.log(settings.url);
   }
});

关于javascript - ajaxStart ajaxStop:如何记录请求URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31826953/

10-11 13:07