在AJAX发布后附加Div

时间:2015-04-26 14:04:29

标签: javascript jquery html ajax vb.net

我很难理解为什么会发生以下情况。我正在调用一个非常简单的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" />

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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