jquery移动取消302重定向到外部站点

时间:2011-10-09 01:58:54

标签: jquery-mobile dotnetopenauth

我正在尝试将DotNetOpenAuth与使用jquery mobile的网站集成。我遇到了一个问题,即jquery mobile似乎取消了302重定向到服务器响应的提供方(外部站点)。

我尝试在mobileinit事件中使用以下内容关闭默认的jquery mobile ajax处理:

$.mobile.ajaxEnabled = false;

如果我从图片中取出jquery mobile,则可以正确处理302重定向,并且与提供方的OpenID集成工作正常。

有谁能告诉我如何让jquery mobile正确处理302重定向到外部网站?

3 个答案:

答案 0 :(得分:7)

对于表单,只需将“data-ajax”属性设置为false。

应该是这样的:

<form action="postthis" method="post" data-ajax="false">

这将禁用jQuery mobile的默认ajax处理。

参考:http://jquerymobile.com/test/docs/forms/forms-sample.html

答案 1 :(得分:1)

我遇到了同样的问题,并且在将 rel =“external”添加到登录链接后能够登录,请参阅下面的示例

<a href="/authentication/logon" rel="external" data-icon="gear" class="ui-btn-right">Login</a>

我不确定这是否是您正在寻找的解决方案?

答案 2 :(得分:0)

要禁用Ajax,您应该在脚本引用jquery mobile之前添加此脚本:

 <script language="javascript" type="text/javascript">
        $(document).bind('mobileinit', function () {

            $.mobile.ajaxEnabled = false;
         });
 </script>

如果您不使用Ajax,重定向到外部URL确实有用 但是应该有一个替代方案,你不需要禁用Ajax。