AJAX не работает с обработчиком HTTP ASP.NET

Я делаю что-то глупое, наверное. Клянусь, я делал это раньше без проблем, но сейчас я не могу заставить его работать. У меня есть обработчик HTTP, написанный на ASP.NET, который я хочу вызывать через 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 к фильтру ISAPI ASP.NET. Я убедился, что мой обработчик не вызывается (я изменил обработчик, чтобы распечатать сообщение журнала, и ничего не было напечатано. Средство просмотра событий ничего не показывает).

Любые идеи?

EDIT: когда я пытаюсь перейти непосредственно к обработчику в браузере, я получаю сообщение об ошибке 404.


person Josh Stodola    schedule 12.03.2009    source источник
comment
Что вы получаете, когда переходите к обработчику напрямую?   -  person Rex M    schedule 12.03.2009


Ответы (1)


Понятно. У меня был неправильный путь в web.config

<httpHandlers>
  <add verb="GET" path="getPage.axd" type="Handlers.GetPage"/>
</httpHandlers>
person Josh Stodola    schedule 12.03.2009