2013-04-03 149 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