我的页面上有一个div,它向服务器发出了很多请求,因此页面加载大约需要10秒。我们并不总是需要这些数据,所以我希望能够在页面加载所有信息,除了这一个div。一旦页面加载100%我希望它加载此div(可能显示加载...)。
我已经从我的TrackingData.aspx做了一个ajax请求作为测试,但我似乎无法让它工作。
我的JavaScript
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "TrackingData.aspx/GetCurrentTime",
data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert("bye");
}
});
}
function OnSuccess() {
alert("hi");
}
和HTML
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick = "ShowCurrentTime()" />
</div>
C#代码只是
public static string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
在同一个文件夹中有一个TrackingData.aspx,它有一个方法GetCurrentTime。这只是一种测试方法,但是一旦我开始工作,我应该能够自己完成其余的工作。
答案 0 :(得分:1)
您需要在静态方法(GetCurrentTime)之前添加它:
[System.Web.Services.WebMethod]
为了避免一些错误,您可以使用json stringify获取数据:
data: { name: JSON.stringify($("#<%=txtUserName.ClientID%>")[0].value)}