AJAX无法使用ASP.NET HTTP Handler

时间:2009-03-12 00:34:02

标签: asp.net jquery httphandler

我想,我正在做一些愚蠢的事情。我发誓我之前没有遇到任何问题,但现在我无法让它发挥作用。我有一个用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);
});

我知道用于发出请求的网址是正确的。 IIS设置为将axd路径路由到ASP.NET ISAPI筛选器。我已经验证我的处理程序被调用(我更改了处理程序以打印日志消息并且没有打印任何内容。事件查看器没有显示任何内容。)

有什么想法吗?

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

1 个答案:

答案 0 :(得分:1)

知道了。我在web.config

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