【发布时间】:2010-10-05 10:42:18
【问题描述】:
我正在使用 jQuery 进行 ajax 调用。 ajax 调用在 IE 7 中运行良好,但 FireFox 3 在进行此调用时总是会刷新整页。 ajax 调用正在发布到 ASP.NET 页面方法。
是 jQuery 有问题还是我只是缺少一些设置?
$.ajax({
async: false,
type: "POST",
url: "Default.aspx/DoSomething",
data: "{" + parms + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function(data) { succesfulPost(data); },
error: function(XMLHttpRequest, textStatus, errorThrown) {
errorPost(textStatus, errorThrown);
}
});
调用是通过一个 html 按钮 onclick 事件进行的。我试过了
return false; 在进行此 ajax 调用的方法中,但 FireFox 中的完全刷新仍在继续。
我尝试设置 async = true,但这似乎不起作用。 FireFox 只是继续运行,不会等待后端返回响应。 FireFox(在 js 中)实际上是在 ajax 调用中产生错误。正如您在上面看到的,错误函数已定义,并且在我设置 async = true 时触发。
【问题讨论】:
-
我会保持 async=true,然后从那里调试。你有安装 Firebug 吗?如果是这样,请打开 Firebug,然后单击“Net”选项卡,然后查看单击按钮时调用的内容。您应该看到对 Default.aspx/DoSomething 的请求以及正在传递的任何参数。看看那里有没有奇怪的地方。
标签: asp.net jquery ajax firefox