1

如何仅在调用 jquery.load() 的 div 中显示“正在加载...”文本。

$(document).ready(function()
{
    //only one ajaxSend for all divs
    $(document).ajaxSend(function()
    {
        $(this).html('LOADING...'); //'this' doesn't works
    });

    //...

    $("#ranking-content").load("content/ranking.php");
    $("#empleados-content").load("content/empleados.php");
    //... more and more

});

在 ajaxSend 回调中,如何获取发出该 ajax 请求的 div 的 ID?

我确信有比每个 div 执行一个 ajaxSend 更好的方法。

4

1 回答 1

3

要自定义特定 div 的行为,请使用ajax函数:

定义beforeSend(在 ajax 调用之前运行的脚本)和context(HTML 元素):

$.ajax({
  context: $('#ranking-content'),
  url: 'content/ranking.php',
  beforeSend: function (xhr) {
    $(this).html('Loading');
  }
}).done(function (data) {
  $(this).html(data);
});

ajaxSend不需要使用它。您可以通过将参数与调用者提供的设置合并到 ajax 来重新使用此代码。

于 2013-01-09T04:33:51.947 回答