使用Ajax.dll 时 抛脚本错误 “AjaxMethod 未定义”

在从Windows2003+IIS6迁移到Windows2008+IIS7.0的过程中,遇到AjaxMethod未定义的脚本错误。错误的根源在于IIS配置。解决方法包括:1) 注册AjaxMethod;2) 配置web.config文件中的httpModules和handlers;3) 检查IIS版本,确保在IIS7.0中正确配置系统.webServer部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在测试服务器上没有任何问题 (操作系统2003+IIs6),放到正式环境就有脚本错误(Windows2008+IIS7.0)


关键在于IIS的问题。

 

有几处需要注意:

 

(1)注册AjaxMethod:

 

protected void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
           Ajax.Utility.RegisterTypeForAjax(typeof(AirTicketManager.AjaxMethod));

 

}//如果没有注册这句话也会抛如题目的错误

 

(2)在webconfig中配置(忘记是手动配置还是引用时候自己生成的了)

 

 <system.web>

 

<httpModules>

 

<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>

 

</httpModules>

 

</system.web>

 

<system.webServer> <handlers> </handlers></system.webServer>

 

上面在IIS6.0中是这样配置的 ,如果少了这句话也会抛出如题目的脚本错误

 

(3)IIS版本问题

 

如果上述问题都不存在,确保ajax.dll也存在,但仍然提示“AjaxMethod 未定义”,就要考虑IIS版本问题了

 

IIS7的话需要把刚才在webconfig里面的那句在system.webServer里面也加上一句

 

<system.webServer>

 

<handlers>

 


<add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />

</handlers>

</system.webServer>

问题就解决了,花了我大半天的时间啊

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值