2013-04-03 80 views
1

我目前正试图在asp.net2.0中开发一个聊天应用程序,并要求我拨打电话aspx Page Webmethod。我的问题是我无法拨打网页webmethod。无法使用jQuery Ajax调用Page WebMethod?

没有出现在FF的错误控制台的任何消息,所以不能findout那里我已经话不对,没有问题,同时拨打电话web服务。

继承人的代码,我writtern

$(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 PAGE电泳GETTIME功能是没有得到所谓的?是用URL中的问题?

[WebMethod] 
public static string GetTime() 
{ 
    return DateTime.Now.ToString(); 
} 
+0

它甚至尝试后?你有杉木ebug?如果是这样,Firebug的Net标签中是否有任何活动?小提琴手怎么样 - 任何活动?如果你在WebMethod中放置一个断点,它会受到影响吗? – kmk

+0

我把一个断点将WebMethod和测试它,断点没有得到hit.Interesting事实是,当我把同样的代码在Web服务即时获得正确的结果。 – Kannan

回答

0

三件事我想看看是:

1)我不知道是ASP.NET 2.0可以使用JSON AJAX的东西。我认为这是在3.5版本中出现的,但可能会考虑使用ASP.NET AJAX实现而不是jQuery。请参阅:Jquery's Ajax Property For Asp.Net 2.0,具体如下:

您需要将此属性添加到您的Web服务器类

[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了。

希望帮助![/编辑]

+0

1.I所面对的同样的问题较早和安装ASP.NET3.5其解决使用asp.net2.0.When我写上面的代码中的web服务它显示所期望的结果的jquery AJAX的问题。 2.因为我正确地打电话给webservices我不认为有问题与jquery版本3.我也检查capitilization,我已经给了它正确 – Kannan