Asp.net Ajax pageMethods未触发成功事件处理程序

本文关键字:成功 事件处理 程序 net Ajax pageMethods Asp | 更新日期: 2023-09-27 18:18:10

我有asp.net ajax页面方法如下,

   [WebMethod]
   public static string UnAuthVote(string vf) 
   {          
       return "";
   }

我这样称呼它

PageMethods.UnAuthVote("alikhan", success1, error);

我的success1和error方法如下所示,

  function success1(response) {alert("");
       return false;
}
    function error(error) {alert("error");return false; }

问题是它正在调用错误事件。为什么我的代码没有调用pagemethod的成功事件

帮助由于

Asp.net Ajax pageMethods未触发成功事件处理程序

嗯,我使用url重写。这就是为什么我的pagemethods不能工作。

我设置set_Path属性如下

PageMethods.set_path("Auth/profile.aspx")

现在可以正常工作了

显示实际的错误会有所帮助,例如:

 function success1(response) 
 {
   alert(response);
 }
 function error(error) 
 {
   alert(error);
 }

您还可以使用调试器或开发人员工具来识别问题。错误可能会显示在Console选项卡上。调试器将允许您更有效地排除故障,而不是编辑代码来显示alerts,但我理解在某些情况下这是可取的。您还可以通过以下方式写入console:

 function success1(response) 
 {
   if(window.console) console.log(response);
 }
 function error(error) 
 {
   if(window.console) console.log(error);
 }

这样做的好处是它不会妨碍用户,并且只有在控制台打开时才可见。检查窗口。控制台避免在不可用时从日志记录到控制台引发异常。

如果你不知道返回对象的属性,你可以像这样遍历它们:

   function error(error) 
     {
         var output = [];
         for(key in error)
         {
             output[output.length] = key.toString() + " = " + error[key];
         }
         alert(output.join(''n'));
     }