1

非常に単純なページと、[WebMethod]単純なメッセージを返すページがあります。$.ajaxこのメッセージをクライアント側で表示したいと思います。ただし、私のWebサイトは書き換えルールを使用しているため、ユーザーがURLを読み取れるようになります。

例: 実際の Web ページ: www.mysite.com/about // about フォルダーとその中にユーザー コントロールがある

このためのaspxページはありません。代わりに、実際のhtmlページであるWebページデータを取得し、ユーザーコントロールにコンテンツを表示するメソッドを使用しています。

ここにJqueryの部分があります。

$(document).ready(function () {
    $('.info a').click(function () {
        $.ajax({
            type: 'POST',
            url: '/about/showServer', //which url to put here
            async: true,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                alert("result.d");
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            },
        });
    });
}); 

C#

[WebMethod] // this method is in the user control
      public static string showServer()
      {
            return "Hello from server";
      }

$.ajax を使用してクライアントからこのメソッドを呼び出す方法

あなたの時間と助けに感謝します。

編集

私は自分のウェブサイトにこの構造を持っています

mysite.com/about

/about/defualt.aspx --> ユーザー コントロールを読み込みます

ユーザーコントロールは次の場所にあります

mysite.com/ConLib/Custom/about.ascx/showServer

だから私はそれをこのように設定しました

URL: '/ConLib/Custom/about.ascx/showServer',

しかし、mysite.com/conlib/blah blah ..reqrites と入力すると、これが許可されず、404 エラーがスローされるため、XHR リクエストの chrome 開発者ツールに「404 エラー」というエラーが表示されます。

4

3 に答える 3

1

WebMethod がユーザー コントロール内にある場合は、ASPX ページに移動する必要があります。この投稿を参照してください。

UserControl (.ascx) で ASP.NET WebMethod を呼び出す方法

url:パラメータは次の形式にする必要があります'/MyPage.aspx/showServer'

于 2013-05-17T14:17:20.373 に答える