Hola a todos, espero me puedan colaborar con la siguiente duda. He estado trabajando con jquery mobile y en realidad es bastante sencillo, sin embargo a la hora de tratar de trabajar con ajax he tenido problemas. Como no se manejar el ajax con jquery lo implemente con ajax de javascript. La petición funcionaba perfectamente pero se perdia los estilos de los botones y eso, por tal motivo ademas de hacer la petición llevaba dinamicamente los estilos y el javascript para que los añadiera. Me funciona pero tiene un resultado nefasto porque por una razon que no entiendo el header de la pagina se añadia al final de la petición y cada vez que hago una peticion se superpone haciendo que se vuelva una locura la pagina. He leido la documentación de jquery mobile pero por falta de experiencia no encuentro la manera de hacerlo mas eficiente. Si alguien me explica como migrarlo a jquery mobile o sepa de algun tutorial que trabaje este tipo de peticiones se lo agradezco mucho. Igual si ven que tengo algun error que se haya escapado y me ayude a solucionarlo se lo agradezco mucho.
Aquí dejo el codigo para que se entienda mejor lo que explico. Gracias de antemano por su colaboración.
Código Javascript
:
Ver original<!-crear elemento tipo script-->
function jsDinamic(direccion,tipo){
var g=document.createElement("script");
g.src=direccion;
g.type=tipo;
document.body.appendChild(g);
}
<!-crear elemento tipo link-->
function cssDinamic(estilo,referencia){
var g=document.createElement("link");
g.rel=estilo;
g.href=referencia;
document.body.appendChild(g);
}
<!--peticion por ajax de la pagina-->
function PaginaMobile(nropagina){
var divPost,ajax;
divPost = document.getElementById("post");
ajax=objetoAjax();
ajax.open("GET", "layouts/mi_pagina.php?pag="+nropagina,true);
ajax.onreadystatechange=function() {
if(ajax.readyState==1){
divPost.innerHTML = '<img src="imagenes/ajax-loader.gif" border="0"/>Cargando, espere por favor...';
//modificamos el estilo de la div, mostrando una imagen de fondo
}
if (ajax.readyState==4) {
//mostrar resultados en esta capa
jsDinamic("http://www.mipagina.com/js/jquery-1.7.1.min.js","text/javascript");
jsDinamic("http://www.mipagina.com/js/jquery.mobile-1.2.0.min.js","text/javascript")
cssDinamic("stylesheet","http://www.mipagina.com/css/jquery.mobile.structure-1.2.0.min.css")
divPost.innerHTML = ajax.responseText;
}
}
ajax.send();
}