2009-08-05 73 views
1

我在ASP.NET應用程序中通過Jquery調用頁面方法來進行AJAX調用。在ASP.NET webservice和頁面方法中調用jquery ajax

$.ajax({ 
     type: "POST", 
     url: "APage.aspx/GetDropDowns", 
     data: "{'AId':'1'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
     alert(msg.d); 
     }, 
     error: function() { 
     alert('Error '); 
     } 

    [System.Web.Services.WebMethod] 
public static string GetDropDowns(string Id) 
{ 
    return "Id was: " + Id; 
} 

我記得使用ASP.NET AJAX時,鼓勵使用webservices而不是頁面方法。然而,如果我正在執行JSON並且發佈信息,那麼 A)上述任何安全缺陷和B)使用web服務而不是頁面方法的任何理由

回答

0

A.這裏已經有一個很好的回覆(Security advice for jquery ajax data post?

B.頁面回傳方法(或通過Ajax UpdatePanel)在HTTP Post上有更大的開銷(特別是視圖狀態信息,它攜帶更多不需要的數據)。普通的回發更直接的實現。

+3

我不認爲問題是頁面回發vs updatepanel,而是他問的是關於Web服務與頁面方法。 – 2009-12-22 18:26:37

1

Web方法本質上是一種實現Web服務的簡單方法,無需爲其創建單獨的文件等。您發佈的代碼沒有任何問題。 @約翰對@ o.k.w引用的問題38421的回答。是對安全性需要思考的一個很好的總結。