小编典典

在Webservice ajax调用的Modal Popup Extender中显示加载图像

ajax

我使用.ajax呼叫将电子邮件发送到输入电子邮件的Web服务方法。

我想展示一个包含一个说“ sendig …”的图像的ajax模态弹出式扩展程序。

我用.ajax来调用我的网络服务,例如:

var SendingModal = $find('SendMPE');
    var Resend = -1;
    $.ajax({
             async: false,
             type: "POST",
             url: "FinKaynWebService.asmx/SendEmail",
             data: "{'Email': '" + Email + "'}",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             beforeSend: function() {
                 $("#SendMPE").show();
             },
             success: function(response) {
                 Resend = response.d;
                 SendingModal.hide();
              },
              failure: function(msg) {
                 alert('Sending Email failed,try later');
              }
    });

问题是我的SendMPE没有显示。

<div id="SendingDiv" style="display:none;background-color:Yellow;color:Blue;">
     <img id="LoadingImage" alt="Still sending"  src="./Images/Sending.gif" />
    <span style="margin-left:10px;">Sending...</span>
    <asp:Button ID="CloseButton" runat="server" style="display:none;" />
</div>
<asp:ModalPopupExtender ID="SendMPE" X="200" Y="200" runat="server" 
                    TargetControlID="SendHiddenButton" PopupControlID="SendingDiv" 
           CancelControlID="CloseButton"></asp:ModalPopupExtender>

这是图像引起的还是什么原因?

谁有想法或已经做过类似的事情:将图像加载到弹出窗口中。


阅读 299

收藏
2020-07-26

共1个答案

小编典典

首先你应该使用

data: '{"Email": "' + Email + '"}'

或更好

data: JSON.stringify({Email: Email})

代替

data: "{'Email': '" + Email + "'}"

再说一遍。在发送事件之前,beforeSend(jqXHR, settings)应使用该事件修改jqXHR对象(在jQuery
1.4.x中为XMLHTTPRequest)(请参见jQuery.ajax
documantation)。就您而言,您可以将$("#SendMPE").show();其放在$.ajax通话之前。

而且大概你想用$("#SendingDiv").show();

2020-07-26