Estoy desarrollando una aplicación de motor de aplicación de Google. Estoy intentando redirigir al usuario a la página de inicio de sesión cuando se hace clic en un botón. Para hacer esto, establecí window.location.pathname
en la siguiente cadena /_ah/login?continue=http%3A//localhost%3A8080/
. Sin embargo, Chrome escapa de la cadena para que la URL completa se convierta en http://localhost:8080/_ah/login%3Fcontinue=http%3A//localhost%3A8080/
, y esto da un error 404. ¿Cómo puedo evitar que esto suceda? La URL que funciona es http://localhost:8080/_ah/login?continue=http%3A//localhost%3A8080/
Cómo evitar que window.location.pathname escape caracteres en URL
Respuesta
Creo que está mejor solo con window.location.href. En Chrome y Firefox window.location.href="/?foofoo"
redirige a <domain:port>/?foofoo
Establezca window.location.href
en su lugar.
window.location.href está haciendo lo mismo y es lo que estaba usando inicialmente. Creo que no escapa? pero escapa &. Dondequiera que tuviera un & se convirtió en & y esto rompió mi aplicación. – morpheus
Parece que tienes un problema diferente. Si el navegador va a escapar algo en la ubicación, usará el estilo% XX, no las entidades HTML como &. Supongo que debe marcar la cadena como segura en su motor de plantillas para evitar que inserte entidades HTML. Para verificar que este es el problema, vea la fuente en la página afectada y observe el lugar donde se representa este valor. –
si se establece la ubicación y la cadena de consulta por separado que debe obtener mejores resultados (al menos en cromo)
function redirect_to_login()
{
window.location.href = "/_ah/login";
window.location.search = "?continue=http%3A//localhost%3A8080/";
}
que no probamos esto en IE lo siento. Parece que funciona con una pequeña cantidad de pruebas en Chrome.
(pensándolo bien ... si usted está poniendo esto en un atributo onclick):
<input type="button"
onclick="window.location.href = '/_ah/login'; window.location.search = '?continue=http%3A//localhost%3A8080/';"
value="Click Me!"
/>
esto es realmente peor. window.location.href seguido de window.location.search está actuando como si window.location.href nunca estuviera presente (usando Chrome 12 - probado en localhost). – morpheus
@morpheus Eso no es bueno. Me di cuenta de que la página en la que lo probé no lo habría mostrado. Mis disculpas. La única otra cosa que sugeriría es usar '.assign ("/_ ah/login /? Continue = http% 3A // localhost% 3A8080/'De lo contrario, descubra por qué window.location.href no funciona correctamente cuando lo asigna de una vez. Esto generalmente funciona (como en la respuesta de @ minitexc) –
- 1. Cómo evitar que JAXB escape una cadena
- 2. ¿Cómo evito que IVsBuildPropertyStorage.SetItemAttribute escape caracteres especiales?
- 3. ¿Cómo puedo evitar que link_to escape barras oblicuas en los parámetros de URL en Rails?
- 4. Cómo codificar URL para evitar caracteres especiales en Java?
- 5. ¿Evitar que Nokogiri escape de los personajes?
- 6. Doctest que implica caracteres de escape
- 7. escape múltiples caracteres “%” en Android
- 8. Cómo evitar que jQuery .html() escape el atributo href automáticamente?
- 9. caracteres de escape
- 10. ¿Cómo hacer que Scanner lea correctamente los caracteres de escape?
- 11. Url caracteres Unicode que codifican
- 12. HTML-Entidad de escape para evitar XSS
- 13. Escape de caracteres HTML especiales en Python
- 14. cadena reemplazar caracteres de escape
- 15. caracteres de escape con cáscara
- 16. Evitar que los caracteres Emoji se muestren
- 17. Cómo prevenir el escape automático de caracteres especiales en Python
- 18. Escape de caracteres durante pegar en vim
- 19. ¿por qué _ escape modifica/caracteres en Underscore.js?
- 20. ¿Escape los caracteres especiales en RegEx?
- 21. PHP: Escape caracteres ilegales en archivos .ini
- 22. analizar una cadena que contiene caracteres de escape utilizando Java
- 23. Análisis de línea de comandos C# de rutas citadas y evitar caracteres de escape
- 24. ¿Se puede evitar que Gson convierta "<" and ">" en secuencias de escape unicode?
- 25. MSBuild - Escritura de caracteres de escape en archivos
- 26. Caracteres especiales de escape de Python
- 27. Evitar que TinyMCE/Internet Explorer convierta las URL en enlaces
- 28. Problema de escape de caracteres XSL
- 29. utilizar caracteres de escape dentro grep
- 30. ¿Por qué el codificador JSON agrega caracteres de escape al codificar URL?
Esto no tiene nada que ver con App Engine. –