繁体   English   中英

在AJAX发布后追加Div

[英]Appending Div after AJAX post

我正在努力理解为什么发生以下情况。 我正在调用一个非常简单的Web服务,如下所示。 由于某种原因,我的jquery追加了div,但是它立即消失了吗? 不好意思的线程道歉...

另外,使用VS2013提供的jquery 1.7.1

<WebMethod()>
Public Function GetTime() As String
    Dim time As String = ""
    time = Now().TimeOfDay.ToString

    Return time
End Function

我的AJAX在下面

 function CallWebServiceFromJquery() {

         $.ajax({
             type: "POST",
             url: "WebService.asmx/GetTime",
             data: "{}",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: setTime,
             error: OnError

         });

     }

成功功能

function setTime(data, status) {
         //alert(data.d);
         $("#time").css("visibility", "visible")
         $("#time").append("<h1>" + data.d + "</h1>")
     }

最后,onclick

<asp:Button ID="btnCallWebService" runat="server" OnClientClick="CallWebServiceFromJquery()" Text="Call Webservice" />

单击按钮本身会引起回发,因此为什么附加的div似乎消失了。 您需要使用preventDefault()停止默认事件行为:

<asp:Button OnClientClick="CallWebServiceFromJquery(event)" ...
function CallWebServiceFromJquery(e) {
    e.preventDefault();
    $.ajax({
        // ajax settings...
    });
}

确保CallWebServiceFromJquery返回false 根据您对div出现和消失的描述,您的页面正在回发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM