Вопрос

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

Есть какие-нибудь идеи?

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

Это было полезно?

Решение

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

<httpHandlers>
  <add verb="GET" path="getPage.axd" type="Handlers.GetPage"/>
</httpHandlers>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top