我目前正在尝试在asp.net2.0中开发聊天应用程序并要求我拨打 aspx Page Webmethod
。我的问题是我无法拨打电话页面webmethod。
在ff的错误控制台中没有显示任何消息,所以无法找到我出错的地方。在拨打电话网络服务时没有问题。
这是我写的代码
$(document).ready(function(){
$("#btnSend").click(function(){
$.ajax({
type:"POST",
data:"{}",
url:"Chat.aspx/GetTime",
contentType:"application/json; charset=utf-8",
dataType:"json",
success:function(msg){
alert(msg.d);
},
error:function(msg){
alert(msg.d);
}
});
});
});
这是我的 chat.aspx 页面。 GetTime 函数未被调用?是否存在url问题?
[WebMethod]
public static string GetTime()
{
return DateTime.Now.ToString();
}
答案 0 :(得分:0)
我要看的三件事是:
1。)我不确定ASP.NET 2.0是否可以使用JSON AJAX。我认为这是在3.5中出现的,但可能会考虑ASP.NET AJAX实现而不是jQuery。请参阅:Jquery's Ajax Property For Asp.Net 2.0,具体来说:
您需要将此属性添加到您的网络服务器类
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
此功能的属性
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
2。)您可能想要检查您使用的jQuery AJAX版本是否与ASP.NET 2.0兼容。我记得有一个问题需要使用旧版本的jQuery(如1.3)请参阅:http://forum.jquery.com/topic/jquery-ajax-not-working-for-asp-net-2-0-7-5-2011
3。)这可能是一个很长的镜头,但是你的页面叫做Chat.aspx,还是chat.aspx? Javascript大写很重要(O;
远射,所有这些,祝你好运(:
[编辑]刚刚重新阅读问题并弹出另一个想法:是.ASPX页面上的按钮?我问的原因是,当它在页面上呈现时,你的按钮不再是'ID =“btnSend”'而是'ID =“ctl_btnSend_0897234h15807”'左右。如果您已经附加了jQuery以找到'#btnSend',那么它可能不再是DOM中的相同ID。
希望有所帮助![/编辑]