IE6(和其他 Internet Explorer 浏览器)不遵循 302 重定向的 Get 调用

发布于 2024-10-22 09:14:47 字数 1649 浏览 6 评论 0原文

我有一些 HTML,其中有一些动态生成的表单,这些表单是使用 jQuery 通过单击处理程序提交的,而 jQuery 似乎不想在 IE6 中工作。它在 Firefox 和 Chrome 中运行得非常好。

<form method="post" name="12860864" action="/Item/StepIn">
   <a class="picklistsubmitter" 
      href="javascript: void(0);" 
      tabindex="1" title="Lalal">
       <div class="pickitem stepIn">
           <div>1 ... 46</div>
           <input type="hidden" name="referenceId" 
                  value="GBR|0TOGBREQnaBwAAAAABAAEAAAAAJ0HTQAAAAAAAAP..AAAAAAD.....AAAAAAAAAAAAAA--">
           <input type="hidden" name="displayText" value="1 ... 46">
       </div>
   </a>
</form>

然后,我在 AJAX 之后调用一个单击处理程序(或者我之前确实通过 live 调用了此处理程序)

$(".picklistsubmitter").click(function () {
    $(this).closest('form').trigger('submit');
});

当我触发处理程序(通过 AJAX)时,它进入我的 StepIn 函数,然后在最后执行 RedirectToAction("Search") (遵循 RPG 原则)Firefox 和 Chrome 遵循这一原则,但任何 IE 浏览器都遵循这一原则,我不确定为什么。

有人知道这可能是什么吗?我使用 ASP.Net MVC 3、JQuery 1.4 和 JQuery Form(最新版本)。

我担心我可能没有指定所有信息,但我希望这是一个常见问题。

如果有帮助的话,我可以添加一些从 Chrome 或 Firefox 生成的代码。

问候, Jamie

[编辑] 我刚刚通过 W3C 运行了代码,它几乎符合 XHTML Strict 的标准(有两个例外),请注意,在 IE6 中调试 UI 确实将正确的表单详细信息发送到 ASP.Net MVC 3 应用程序但是一旦到达 RedirectToAction("Search"),它看起来就没有遵循 302 重定向。

[进一步编辑]:在 Fiddler 以及 Firefox 和 Chrome 中检查,302 重定向受到尊重,为搜索页面返回 200 状态代码,但是对于 IE6,它似乎不再继续。

#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
278 302 HTTP    localhost:1954  /Item/StepIn    132 private     text/html; charset=utf-8    iexplore:10020  

I've got some HTML which has some dynamically generated forms which are submitted via a click handler using jQuery which doesn't seem to want to work in IE6. It works perfectly fine in Firefox and Chrome.

<form method="post" name="12860864" action="/Item/StepIn">
   <a class="picklistsubmitter" 
      href="javascript: void(0);" 
      tabindex="1" title="Lalal">
       <div class="pickitem stepIn">
           <div>1 ... 46</div>
           <input type="hidden" name="referenceId" 
                  value="GBR|0TOGBREQnaBwAAAAABAAEAAAAAJ0HTQAAAAAAAAP..AAAAAAD.....AAAAAAAAAAAAAA--">
           <input type="hidden" name="displayText" value="1 ... 46">
       </div>
   </a>
</form>

I then call a click handler after the AJAX (Or I did previously have this called by live)

$(".picklistsubmitter").click(function () {
    $(this).closest('form').trigger('submit');
});

When I trigger the handler (via AJAX), it goes into my StepIn function and then does a RedirectToAction("Search") at the end (Following RPG principles) This is followed by Firefox and Chrome but not any IE browser and I'm unsure why.

Anybody have any ideas what this could be? Am using ASP.Net MVC 3, JQuery 1.4 and JQuery Form (Latest version).

I'm wary I might not have specified all the information, but I'm hoping it's a common issue.

I can add some generated code from Chrome or Firefox if that is likely to help.

Regards,
Jamie

[Edit] I've just ran through the code through W3C and it's pretty much standards complaint for XHTML Strict (with two exceptions), Note that debugging the UI in IE6 does send the right form details to the ASP.Net MVC 3 application but once it gets to a RedirectToAction("Search"), it looks like it's not following the 302 redirect.

[Further Edit]: Checked in Fiddler and in Firefox and Chrome, the 302 redirect is honoured, returning a 200 status code for the Search page, however for IE6 it seems it's not following any further.

#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
278 302 HTTP    localhost:1954  /Item/StepIn    132 private     text/html; charset=utf-8    iexplore:10020  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

通知家属抬走 2024-10-29 09:14:49

看起来返回 false;每次调用 Submit() 后都需要。

It seems a return false; is needed after each submit() call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文