我很难理解为什么会发生以下情况。我正在调用一个非常简单的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" />
答案 0 :(得分:2)
按钮单击本身会导致回发,因此附加的div
似乎消失了。您需要使用preventDefault()
停止默认事件行为:
<asp:Button OnClientClick="CallWebServiceFromJquery(event)" ...
function CallWebServiceFromJquery(e) {
e.preventDefault();
$.ajax({
// ajax settings...
});
}
答案 1 :(得分:1)
确保CallWebServiceFromJquery
返回false
。根据您对显示和消失的div的描述,您的页面正在进行回发。