jQueryMobile se ejecuta en Android / PhoneGap rechaza .load / .ajax

Realmente odio hacer preguntas que me siento se les preguntó mil veces antes. Esta es una de esas preguntas que siento que otros deben haber encontrado, pero habiendo buscado el desbordamiento de la pila , ninguna de las soluciones supuestas trabaja para mí así que debo hacer algo mal …..

Tengo una configuración de aplicación extremadamente simple. index.htm y terms.htm. Hay algunos datos textuales en test.htm. He establecido ambos $.support.cors = true; y $.mobile.allowCrossDomainPages = true; en el momento apropiado después de que se haya cargado el material.

Al principio intenté cargar los datos de terms.htm en un elemento dentro del índice usando $('#elementid').load('terms.htm'); (tanto el test como el índice están en el mismo directorio raíz / assets / www /, y mi webview carga el índice encreate) pero absolutamente nada estaba sucediendo. Así que opté por intentar .ajax para que al menos pudiera obtener un mensaje de error, y todo lo que obtengo es 'error'. Seguramente, es posible cargar activos locales de texto con JQ en DroidGap?

 $('#header').load('terms.htm'); $.ajax({ type:"GET", timeout:10000, async: false, url: "terms.htm", success: function(data) { $('#header').html(data); }, error: function(xhr,msg){ alert( msg); } }); 

No estoy 100% seguro, pero creo que es un problema con ICS 4.0.3. En 4.0.2 ajax parece funcionar completamente bien, pero para mí también en 4.0.3, no ajax. Como tú, he intentado todo, y nada ha funcionado.

Estoy usando PhoneGap btw. Ajax funciona bien en el navegador estándar, pero no en una aplicación de PhoneGap.

Si está ejecutando su aplicación en Chrome Entonces usted necesita para deshabilitar la seguridad web y permitir la carga de archivos locales ver las solicitudes entre dominios utilizando PhoneGap y jQuery no funciona Else si Safari o simulador o servidor web Entonces debería funcionar

Vea este enlace . Tuve el mismo problema y esto lo resolvió. Además, creo que lo arreglaron en 1.6.0, pero ahora estoy viendo el mismo problema en iOS con PhoneGap 1.6.1.

es sólo un largo tiro, pero usted dice " He puesto $ .support.cors = true, y $ .mobile.allowCrossDomainPages = true, en el momento adecuado después de que las cosas se han cargado . La documentación jQuery móvil dice que debe configurar su configuración global antes de cargar JQM :

Debido a que el evento mobileinit se activa de inmediato, tendrá que enlazar su controlador de eventos antes de cargar jQuery Mobile. Enlace a sus archivos JavaScript en el siguiente orden:

 <script src="jquery.js"></script> <script src="custom-scripting.js"></script> <script src="jquery-mobile.js"></script> 

En su caso esto sería:

 <script src="jquery.js"></script> <script> $(document).bind("mobileinit", function(){ $.support.cors = true; $.mobile.allowCrossDomainPages = true; }); </script> <script src="jquery-mobile.js"></script> 

Como dije, solo una conjetura …

  • Error cromo desconocido: -6
  • ¿Cómo desarrollar una interfaz de usuario que se verá nativa de Android con jQuery-mobile?
  • Uso de jquery móvil toque en lugar de haga clic
  • ERROR: Intentando llamar a cordova.exec () antes de 'deviceready'. Postergación
  • jQuery Los deslizadores de gama Mobile no son lo suficientemente sensibles
  • Escucha tocar y arrastrar el valor y la función en consecuencia
  • Jquerymobile + Phonegap> cómo detener la rotación de la página?
  • Pantalla de inicio de la aplicación de Android con jQuery Mobile
  • No se puede cargar el archivo xml con jquery en el proyecto de phonegap desde la ruta de los recursos
  • Cómo ocultar el teclado en jquery móvil mediante programación en focus ()
  • Creación de un campo de texto de tipo fecha para android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.