2016-08-01 17 views
0

我想做一個GET ajax調用.aspx WebMethod但沒有得到斷點擊中方法。奇怪的是,我在瀏覽器控制檯和Visual Studio級別都沒有收到任何錯誤。這裏是ajax語法。斷點不打在阿賈克斯調用

var appName = "FSDB"; 

$.ajax({ 
    type: "GET", 
    url: "Default.aspx//ConvertDatadttoString", 
    data: appName, 
    success: function (data) { 
     alert("Hi"); 
     console.log(data); 
    } 
}); 

我得到"Hi"消息成功。請幫忙。

更新 方法簽名

[WebMethod] 
    public static string ConvertDatadttoString(string appName) 
    { 

     DataTable dt = new DataTable(); 

     dt.Columns.Add("ID", typeof(int)); // Add five columns. 
     dt.Columns.Add("Name", typeof(string)); 
     dt.Columns.Add("EmailId", typeof(string)); 

     dt.Rows.Add(15, "Vikas", "gh.com"); 
     dt.Rows.Add(40, "Pankaj", "pa.com"); 

     System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
     List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); 
     Dictionary<string, object> row; 
     foreach (DataRow dr in dt.Rows) 
     { 
      row = new Dictionary<string, object>(); 
      foreach (DataColumn col in dt.Columns) 
      { 
       row.Add(col.ColumnName, dr[col]); 
      } 
      rows.Add(row); 
     } 
     return serializer.Serialize(rows); 
    } 
} 
+0

你能告訴函數簽名?我想它接受一個DateTime作爲參數,你不suppyling因此斷點沒有命中 – Satpal

+0

你的AJAX調用工作正常,所以它必須從某個地方得到響應。你確定你把斷點放在正確的地方嗎? –

+0

@Satpal我也用方法代碼更新了帖子。 – Lara

回答

0

我要說的是GET請求不允許進行頁面的webMethods的默認。嘗試使用ScriptService屬性的WebMethod裝點你和UseHttpGet參數值設置爲TRUE,如下所示:

[WebMethod] 
[ScriptMethod(UseHttpGet=true)] 
public static string ConvertDatadttoString(string appName) 

和AJAX調用應該是這樣的:

  $.ajax({ 
       type: "GET", 
       url: "Default.aspx//ConvertDatadttoString?appName='" + appName + "'", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (data) { 
        alert("Hi"); 
        console.log(data); 
       } 
      });