3

我一直在寻找答案,但不幸的是我被困住了。该问题仅出现在 Firefox 中(经过测试的 IE、Chrome 和 Safari 也 - 工作正常,没有任何类型的错误)。我将详细说明事件顺序以保存发布我的所有代码。

  1. ASP.NET MVC 3 应用程序,基本表单加载到 jQuery UI 对话框中
  2. 自定义 jQuery 来隐藏表单提交(序列化表单然后 $.post 到服务器 - 调试时没有编译器错误,并且 post 显示在 Firebug 中没有错误)
  3. Http GET(自动发生)从服务器获取响应对象(+成功文本和 XHR),在这种情况下响应是纯 HTML(再次,在 Firebug 中显示没有错误)
  4. 自定义 jQuery 将 UI 对话框的 HTML 从当前 HTML 更改为响应 Html -这是它失败的地方。

我已经使用 javascript 警报来调试事件序列,并且一旦发布(和获取)完成,一切都只是......有点停止。

正如我所说,仅在Firefox中!很奇怪,只是想知道 ajax 和 firefox 是否有任何已知的错误,或者有人听说过类似的情况?

我还必须补充一点,在我网站的其他部分,这在所有浏览器中都能完美运行!此表单与其他成功完成该功能的表单之间的唯一区别是此表单的响应再次是相同的“页面”,但已更新而不是新的“页面”。(我使用“页面”,因为我首先关闭了所有使用 Javascript 并进行优雅降级的工作)

帮助!要么笑,要么都好。

更新

我已经尝试发送一个带有空白模型的视图作为操作结果 - 在除 firefox 之外的所有浏览器中都有效 - firefox 保留了上一篇文章中的值!然后我开始思考——这是 Firefox 的一个特点,不是吗?也许这就是为什么原来的“重定向”html响应不起作用?我认为是时候放弃并让人们知道他们不能将 Firefox 用于该特定功能!

4

2 回答 2

2

好的,所以我正在回答我自己的问题。

我发现绕过它的唯一方法是使用$.ajax而不是$.post使用该选项async : false

希望这可以帮助某人。

于 2011-03-22T12:18:48.103 回答
0

您是否尝试将属性添加[OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]到您的 GET 操作中?在我看来,这听起来像是一个缓存问题。

于 2011-02-17T19:04:18.330 回答