0

私は愚かなことをしていると思います。私は以前にこれを問題なく行ったことがあると誓いますが、今はそれを機能させることができません。ASP.NETで記述されたHTTPハンドラーがあり、AJAXを介して(jQueryを使用して)呼び出す必要があります。私のweb.configで、このようにハンドラーを登録します...

 <httpHandlers>
     <add verb="GET" path="~/getPage.axd" type="Handlers.GetPage"/>
 </httpHandlers>

ハンドラーは今テストするように設定されています...

Namespace Handlers

Public Class GetPage
    Implements IHttpHandler

    Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
        With context.Response
            .Clear()
            .Write("ID: " & context.Request.QueryString("id"))
            .End()
        End With
    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements System.Web.IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property
End Class
End Namespace

そして、私はそれを呼び出すために次のjQueryを持っています...

$.get('http://localhost:81/getPage.axd?id=0', function(data) {
  alert(data);
});

リクエストに使用されたURLが正しいことを知っています。IISは、axdパスをASP.NETISAPIフィルターにルーティングするように設定されています。ハンドラーが呼び出されていないことを確認しました(ハンドラーを変更してログメッセージを出力しましたが、何も出力されませんでした。イベントビューアーに何も表示されません)。

何か案は?

編集: ブラウザでハンドラーに直接移動しようとすると、404エラーが発生します。

4

1 に答える 1

1

とった。web.configのパスが間違っていました

<httpHandlers>
  <add verb="GET" path="getPage.axd" type="Handlers.GetPage"/>
</httpHandlers>
于 2009-03-12T00:45:39.483 に答える