Amigo un millon de gracias adapte el codigo que me facilitaste al que ya tenia y funciono excelente
Mi codigo (ajax.js) era el siguiente:
Código:
/* Función que crea un nuevo objeto ajax */
function nuevoAjax() {
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
/* Función para cargar una página */
/* contenedorID: ID del contenedor donde se cargará la página */
/* URL: dirección de la página que se cargará en contenedor */
/* parametros: cadena de parametros a enviar (por defecto esta vacío). Ej: par1=val1&par2=val2 */
/* metodo: especifíca si los parámetros se enviarán a través del método GET o POST */
function cargarPagina(contenedorID, URL, parametros, metodo, animar) {
var contenedor = document.getElementById(contenedorID);
var ajax = nuevoAjax();
if (animar == 1)
contenedor.innerHTML = "<center><img src='imagenes/ajax-loader.gif'/><br/><p>Cargando...</p></center>";
if (animar == 2)
contenedor.innerHTML = "<center><img src='imagenes/ajax-loader2.gif'/></center>";
if (parametros == null)
parametros = "";
if (metodo.toUpperCase() == "GET") {
ajax.open("GET", URL + "?" + parametros, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
contenedor.innerHTML = ajax.responseText.tratarResponseText();
}
}
ajax.send(null);
}
else {
ajax.open("POST", URL, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
contenedor.innerHTML = ajax.responseText.tratarResponseText();
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(parametros);
}
}
Y adapte lo que me facilitaste (separandolo un poco porque no se entendia mucho :p), quedando asi:
Código:
/* Función que crea un nuevo objeto ajax */
function nuevoAjax() {
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
/* Función para cargar una página */
/* contenedorID: ID del contenedor donde se cargará la página */
/* URL: dirección de la página que se cargará en contenedor */
/* parametros: cadena de parametros a enviar (por defecto esta vacío). Ej: par1=val1&par2=val2 */
/* metodo: especifíca si los parámetros se enviarán a través del método GET o POST */
function cargarPagina(contenedorID, URL, parametros, metodo, animar) {
var contenedor = document.getElementById(contenedorID);
var ajax = nuevoAjax();
if (animar == 1)
contenedor.innerHTML = "<center><img src='imagenes/ajax-loader.gif'/><br/><p>Cargando...</p></center>";
if (animar == 2)
contenedor.innerHTML = "<center><img src='imagenes/ajax-loader2.gif'/></center>";
if (parametros == null)
parametros = "";
//prototipo que sirve para tratar la respuesta:
String.prototype.tratarResponseText = function() {
var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig;
var pat2=/\b\s+src=[^>\s]+\b/g;
var elementos = this.match(pat) || [];
for (i = 0; i < elementos.length; i++) {
var nuevoScript = document.createElement('script');
nuevoScript.type = 'text/javascript';
var tienesrc=elementos[i].match(pat2) || [];
if (tienesrc.length) {
nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
}
else {
var elemento = elementos[i].replace(pat,'$1');
nuevoScript.text = elemento;
}
document.getElementsByTagName('body')[0].appendChild(nuevoScript);
}
return this.replace(pat,'');
}
if (metodo.toUpperCase() == "GET") {
ajax.open("GET", URL + "?" + parametros, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
contenedor.innerHTML = ajax.responseText.tratarResponseText();
}
}
ajax.send(null);
}
else {
ajax.open("POST", URL, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
contenedor.innerHTML = ajax.responseText.tratarResponseText();
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(parametros);
}
}
Con esto se soluciono mi problema. De nuevo mil gracias