我有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的成功事件。
帮助 感谢
答案 0 :(得分:1)
好吧,我正在使用网址重写。这就是我的页面方法无效的原因。
好
我设置了set_Path属性,如下所示
PageMethods.set_path("Auth/profile.aspx")
现在它应该正常工作
答案 1 :(得分:0)
如果您显示实际错误,则会有所帮助,例如:
function success1(response)
{
alert(response);
}
function error(error)
{
alert(error);
}
您还可以使用调试器或开发人员工具来识别问题。该错误可能会显示在控制台选项卡上。调试器将允许您比编辑代码显示alerts
更有效地进行故障排除,但我知道在某些情况下这是更可取的。您也可以通过执行以下操作写入console
:
function success1(response)
{
if(window.console) console.log(response);
}
function error(error)
{
if(window.console) console.log(error);
}
这样做的好处是它不会以用户的方式进入,并且仅在控制台打开时才可见。检查window.console可以避免在登录到控制台时抛出的异常(如果不可用)。
如果您不知道返回对象的属性,可以像这样迭代它们:
function error(error)
{
var output = [];
for(key in error)
{
output[output.length] = key.toString() + " = " + error[key];
}
alert(output.join('\n'));
}