我是 jQuery 的新手并且遇到了问题。在下面的简单代码片段中,我正在进行 ajax 调用以返回当前日期时间。如果我在页面加载后立即单击按钮,则会收到消息“按钮已单击”。WebMethod 也被调用。但是,我没有收到“成功”消息,在我看来,成功的回调函数没有被调用。但是当我在页面加载后等待几秒钟然后单击按钮时,一切正常。这是否意味着 jQuery 脚本需要时间来加载?如果是这种情况,当我在页面加载后不久单击按钮时,我是如何收到消息“按钮单击”的。
<script>
$(document).ready(function () {
$("#btnClick").click(function () {
GetDate();
});
});
function GetDate() {
alert("Button clicked!");
$.ajax({
type: "POST",
url: "WebForm1.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("success");
},
error: function (msg) {
alert("error");
}
});
}
</script>
<form runat="server">
<asp:Button ID="btnClick" runat="server" />
</form>
//WebForm.aspx.cs
[System.Web.Services.WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}