Ajax写的方法在javascript中找不到 显示未定义

本文分享了一次解决Ajax方法在网页中未被正确注册的问题经历。通过调整引用路径及创建新的程序集,最终实现了方法的有效调用。

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

        我在公司维护一个网站,由于有一次,硬盘坏掉,网站源码也没了(只有旧的)。在该程序时,我想到了通过再写一个程序集并引用原来的程序集,可以说是扩展。我要改的正是用到Ajax的地方,一个查询数据库的方法里面需要改动SQL,把这个方法标记为 [AjaxMethod],在aspx文件的<script runat="server">标签里的Page_Load事件里写上“Ajax.Utility.RegisterTypeForAjax(typeof(fxcda.Extend.VendorListAjax));” 

        当我运行时,发现在javascript里写的“VendorListAjax.QueryVendorList(filters, query_CallBack);”中的VendorListAjax未定义!我很纳闷,可能是不同的名字空间的缘故吧。我在前面特地加上了“fxcda.Extend”的名字空间,这次报“fxcda”未定义!看来这样是解决不了的,我在IE上右击查看源文件,看到了里面有2个引用JS的内容,引用的地址分别为“/fxcda/ajax/common.ashx”和“/fxcda/ajax/fxcda.products.AjaxMethod,fxcda.ashx”。怎么没有我写的“VendorListAjax”的字样呢?我就依样画葫芦,试着也写了2个。引用地址分别为“/fxcda/Extend/ajax/common.ashx”和“/fxcda/Extend/ajax/fxcda.Extend.VendorListAjax,fxcda.Extend.ashx”,再次打开这个页面,发现OK!心里顿时大爽!!!

        如果大家碰到类似的问题,那大家就有福了! ^_^

 

注释:

1、要显示的页面文件路径在/fxcda/products/vendorlist.aspx,对应的源文件为fxcda.products.vendorlist.。

2、原来写有Ajax Method的文件fxcma.common.AjaxMethod(说来也奇怪,明明是引用fxcma.dll的,怎么上面引用的JS的引用地址偏偏是/fxcda,很郁闷啊……以后有时间再看了。)

3、新的Ajax Method文件,fxcda.Extend.VendorListAjax(fxcda.Extend.dll)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值