2009-08-28 17 views
0

HTTPリクエストがPOSTの場合は、クエリajaxを使用してASP.NETページ内のWebメソッドを呼び出すことができます。 HTTP GET要求が使用されている場合、Webメソッドの代わりにPage_Loadイベントが実行されます。 アイデアJquery、Ajax、およびASP.NET webmethods

は、ここでのAjax

$.ajax({ 
     type: "GET", 
     url: "http://local.proleaguesports.pagefad.com/AjaxTesting.aspx/receivermethod", 
     data: "{'test':'MyName'}", 
     contentType: "application/json", 
     dataType: "json", 
     success: mycallback, 
     error: handler 
    }); 

であり、ここであなたが別のWebサービス/ ASMXにあなたのwebMethodsを移動することを検討可能性がある

public partial class AjaxTesting : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.Write("Page_Load runs instead of the receivermethod below"); 
    } 

    [WebMethod] 
    [ScriptMethod(UseHttpGet = true)] 
    public static string receivermethod() 
    { 

     return "test received"; 

    } 
} 
+1

POSTを使用して –

+0

なぜGetを使用していますか?インターネットで何か読んだら、重大なセキュリティ上の脆弱性が存在することがわかります。 「投稿」しないでしょうか? –

+0

John、良いセキュリティとHTTPGETの記事をお勧めしますか? POSTを使うと思います。しかし今、興味があります:) –

答えて

0

C#での背後にあるコードです。どこかで、aspxでwebmethodを呼び出すと、ページ全体が再読み込みされることが聞こえましたが、現時点で確認の参考が見つかりません。

+0

それはありません。私はちょうどうまく動作し、ページをリロードしないいくつかのWebメソッドを持っています。 – krishna

+0

私は、いくつかのwebメソッドがあるページのpage_loadメソッドにブレークポイントを設定しました。 Webメソッドを呼び出すと、実際にはPage_Load()がトリガーされますが、それ以外のことはすべて想定しています。 –

関連する問題