为了实现 AJAX 登录,我在我的页面上有这个链接:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah"}) %>

附近有一个 id 为 lll 的 div。当我单击该链接时,我得到了无聊的确认(只是出于调试目的而添加,没有它的行为是相同的),但然后什么也没有发生。没有请求到达服务器(因为我在 LogOn 操作方法上有一个断点)。那是在 Chrome 和 IE8 中。在 FF3 中,它打开登录视图,但作为页面,它不会通过 AJAX 下载它。

有什么想法可能是错的吗?

有帮助吗?

解决方案

的问题是,所述AJAX操作链接使得默认POST请求和它被引导到另一个登录方法(所述一个接受POST),这就是为什么我没有击中断点此外,有人失败,因为必要POST数据没有被发送。添加到列举HTTPMethod操作链接固定它:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah",
    HttpMethod = "Get"}) %>

其他提示

这听起来像有引起插入来处理Ajax请求不火的JavaScript页面上的一些JavaScript错误。你有没有在Firebug看着它在页面加载,看看是否所有的Javascript加载正确?另外,做你的微软版本的JavaScript库匹配您正在使用的MVC的版本?我在我不得不手动更新我的微软在我的项目的JavaScript库的版本版本的进展记得至少一次。如果项目已经通过了MVC的多个版本存在,我建议跟踪新库(创建一个新的项目,并将它们复制到你的旧或安装目录打开项目归档和手工提取出来),并安装它们

您是否在 head 部分包含了 ajax 客户端脚本:

  • MicrosoftMvcAjax.js
  • 微软Ajax.js
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top