2017-04-26 52 views
2

我正在使用ajaxStart()为每个AJAX调用加载加载弹出屏幕。我弹出的文字是loading! Please wait将值传递给AjaxStart事件

我需要根据屏幕更改文字。例如,我有一个屏幕,它正在做一些AJAX调用的计算。然后弹出应该像System is doing the calculation! Please wait

如何使用ajaxStart()功能执行此操作?

$(document).ajaxStart(function() { 
    $("#modal").modal('show') 
}) 
+0

Cna的你告诉我们,你做了什么 –

+0

的$(document).ajaxStart(函数(){$ ( “#modal”).modal(” show') })..在模式中,我给出了一个默认文本“Loading!Please wait”。来自文档http://api.jquery.com/ajaxStart/的 – SJoy

+0

看起来像没有任何参数在回调中传递。所以我认为用'ajaxStart'很难达到你想要的。我不认为你应该使用这个事件,你可以手动管理这些调用,或者尝试使用'.ajaxPrefilter'。 –

回答

2

您可以在文件中使用全局变量并在每次发送请求时更改变量的值;

var messageVar ="Loading.. Please Wait..!!"; 

    $(document).ajaxStart(function() { 
    //use messageVar here for your reqmnt; 

     $("#modal").modal('show'); 
     $("#modal").append('<div>'+messageVar +'</div>'); 

    });. 

AJAX呼叫请求之前,你可以设置messageVar

+0

明智的答案..即使我想不到。 – SJoy

+0

谢谢,偶尔掷骰子正确的方式.. –

+0

如果你一次只有1个ajax调用,这个工程。但是,我担心如果有多个调用(一系列Ajax调用),最后一个将覆盖该消息。当然,在OP的情况下,这种情况不应该发生(因为它看起来像反馈消息是针对用户的,而且一次只有一个动作)。 –