Sto usando jQuery 1.6.4 con jQuery Mobile 1.0.1. Ho riscontrato un problema ogni volta che si collega a una pagina che tenta di eseguire un reindirizzamento 301.jQuery Mobile 301 Problemi di reindirizzamento
Ho installato una pagina di esempio a: http://www.widgetsandburritos.com/jquery-mobile-test/
L'unica cosa in questa pagina è il jQuery Mobile include e un link a un'altra pagina che ha un redirect 301 da qualche altra parte.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
</head>
<body>
<a href="301test.php">301 test</a>
</body>
</html>
301test.php ha il seguente contenuto:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: 301success.html");
?>
Questo dovrebbe semplicemente passare il browser per 301success.html. Funziona se si va direttamente a tale URL
http://www.widgetsandburritos.com/jquery-mobile-test/301test.php
Ma quando si fa clic sul link dalla pagina utilizzando jQuery Mobile, mostra "indefinito", invece. JQuery Mobile non è attualmente in grado di gestire i reindirizzamenti?
Qualsiasi lavoro possibile?
Grazie per il vostro aiuto.
EDIT [3/23/12 12:41 CST]
I also posted this problem on the jQuery Mobile forums. Qualcuno ha consigliato di aggiungere rel = "external" al tag anchor. Funziona tecnicamente se tutto quello che stai facendo è creare un collegamento, ma non risolverà il problema se arrivi al reindirizzamento tramite qualche altro meccanismo, come una richiesta POST.
Per illustrare, ho installato un test secondario a http://www.widgetsandburritos.com/jquery-mobile-test/test2.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
</head>
<body>
<form method="post" action="301test.php">
<input type="submit" value="test" />
</form>
</body>
</html>
Invece di arrivare al 301test.php reindirizzare pagina da un collegamento, è ora la posizione di un modulo stiamo presentando a. Il contesto in cui verrebbe utilizzato sarebbe tale che se invii un modulo con errori, rimarrebbe nella stessa pagina permettendoti di correggere gli errori. Se non ci sono errori, ti reindirizza a una pagina di successo. Questo è fatto per evitare di inviare nuovamente il modulo se un utente aggiorna il proprio browser. Funziona brillantemente nelle normali applicazioni web. Ma in combinazione con jQuery Mobile non sembra funzionare.
Ho pensato di fornire un contesto aggiuntivo a chiunque altro dopo questo problema.
Sono appena poco a questo me stesso e cambiando il mio tag form per includere = data-ajax 'false' fa il trucco. – Aaron
Perfetto, proprio quello di cui avevo bisogno! – user1105056