AJAX出现未定义错误与两种提交方式

前几天做到一个AJAX实现,一直使用的代码突然报“XX未定义”的错误,在网上找了找发现几种解决方法也不合适。

自己在BIN文件夹里引用的是AjaxPro.2.dll

web.config文件里配置的写法如下:

 

 <httpHandlers>

      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

 </httpHandlers>

而且后台在Page_Load方法里也把此页面注册了:

 AjaxPro.Utility.RegisterTypeForAjax(typeof(Event_Report));

  方法如下:

     [AjaxPro.AjaxMethod]

    public string SubSbr(string sbr, string event_id, string eventTypeId)

    {

        string info = "0";

        try

        {

            AcdReport.xxx(event_id, sbr, "", "", eventTypeId);

        }

        catch (Exception)

        {

            info = "-1";

        }

        return info;

     }

前台页面的<%Page%>里,定义也没有出错:

 CodeFile="Event_Report.aspx.cs"

 Inherits="Event_Report"

在JS方法里引用如下:

  function subName(id,type)

    {

      var sbr=document.getElementById("SBR").value;

      var info = Event_Report.SubSbr(sbr,id,type).value;

 }

但就是一直报X

-----------------------------------------------------------------------------------------------------------------

同事说提供了一种新的方法,就是自定义加一个路径:

 在后台页面最上面加一个路径:

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Text;

 

  [AjaxPro.AjaxNamespace("Test")]

然后在前台JS方法里引用的方法换成此路径的:

 

      var info = Test.SubSbr(sbr,id,type).value;

后来还是报未定义错误。。!!!!!!!!!!!!!!!!!!!!

找了半天,无意中尝试一下:

因为JS方法的参数是在后台拼代码生成的,可能考虑到参数的问题,

因为在JS方法体里,引用参数的时候,加了一个转化如下:

 var info = Test.SubSbr(sbr,id.toString(),type.toString()).value;

后来就成功了。。。。。。。。。。。。。。。。。。。。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值