jquery mobile отмена 302 перенаправления на внешний сайт - PullRequest
6 голосов
/ 09 октября 2011

Я пытаюсь интегрировать DotNetOpenAuth с сайтом, который использует jquery mobile.Я столкнулся с проблемой, из-за которой jquery mobile отменяет перенаправление 302 на сторону поставщика (внешний сайт), на которую отвечает сервер.

Я попытался отключить jQuery mobile ajax по умолчаниюобработка со следующим в событии mobileinit:

$.mobile.ajaxEnabled = false;

Если я уберу jquery mobile из картинки, перенаправление 302 будет обработано правильно, и интеграция OpenID с предоставляющей стороной работает нормально.

Может кто-нибудь сказать мне, как заставить JQuery Mobile правильно обрабатывать перенаправление 302 на внешний сайт?

Ответы [ 3 ]

7 голосов
/ 26 декабря 2011

Для форм просто установите атрибут «data-ajax» в false.

Должно быть так:

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

Это отключит обработку ajax по умолчанию для jQuery mobile.

Ссылка: http://jquerymobile.com/test/docs/forms/forms-sample.html

1 голос
/ 16 ноября 2011

У меня была та же проблема, и я смог войти после добавления rel = "external" к ссылке для входа, см. Пример ниже

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

Я не уверен, если этотакое решение, которое вы ищете?

0 голосов
/ 13 октября 2011

Чтобы отключить Ajax, вы должны добавить этот скрипт непосредственно перед ссылкой скрипта на jquery mobile:

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

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

Перенаправление на внешний URL работает, если вы не используете Ajax.быть альтернативой, где вам не нужно отключать Ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...