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.NET ISAPI 过滤器。我已经验证我的处理程序没有被调用(我将处理程序更改为打印日志消息并且没有打印任何内容。事件查看器没有显示任何内容)。

有任何想法吗?

编辑: 当我尝试直接导航到浏览器中的处理程序时,我收到 404 错误。

4

1 回答 1

1

知道了。我在 web.config 中的路径错误

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