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

来源:互联网 发布:oracle 高级sql语句 编辑:程序博客网 时间:2024/05/18 01:52

前几天做到一个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;

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

 

原创粉丝点击