jQuery.post表单只提交奇怪的bug firefox

时间:2011-02-17 09:38:33

标签: firefox jquery asp.net-mvc-3 jquery-post

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

  1. ASP.NET MVC 3应用程序,基本表单加载到jQuery UI对话框
  2. 自定义jQuery以hijax表单提交(将表单序列化,然后将$ .post序列化到服务器 - 调试和发布时没有编译器错误显示在Firebug中而没有错误)
  3. Http GET(自动发生)从服务器获取响应对象(+成功文本和XHR),在这种情况下响应是纯HTML(同样,在Firebug中显示没有错误)
  4. 自定义jQuery,将UI对话框的HTML从当前的​​HTML更改为响应Html - 这是失败的地方。
  5. 我已经使用javascript警报来调试事件序列,一旦post(和get)完成,所有事情就......停止了。

    就像我说的那样,仅在firefox中!非常奇怪,只是想知道是否有任何已知的错误与ajax和firefox或任何人听说过类似的情况?

    我还必须补充一点,在我网站的其他部分,这适用于所有浏览器!此表单与成功完成此功能的其他表单之间的唯一区别是,此表单的响应是相同的“页面”,但更新而不是新的“页面”。 (我使用“页面”,因为我使用Javascript关闭所有这一切并且优先降级)

    HELP!或者笑,要么就好了。

    更新

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

2 个答案:

答案 0 :(得分:2)

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

我发现绕过它的唯一方法是使用$.ajax代替$.post并使用选项async : false

希望这有助于某人。

罗布

答案 1 :(得分:0)

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