我正在尝试将DotNetOpenAuth与使用jquery mobile的网站集成。我遇到了一个问题,即jquery mobile似乎取消了302重定向到服务器响应的提供方(外部站点)。
我尝试在mobileinit事件中使用以下内容关闭默认的jquery mobile ajax处理:
$.mobile.ajaxEnabled = false;
如果我从图片中取出jquery mobile,则可以正确处理302重定向,并且与提供方的OpenID集成工作正常。
有谁能告诉我如何让jquery mobile正确处理302重定向到外部网站?
答案 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。