Cargar un Div mediante Ajax en codificación ISO-8859

Por defecto las peticiones Ajax mediante XMLHttpRequest, se realizan en codificación UTF-8. ¿Cómo podemos cargar entonces una página en una codificación distinta? Pues añadiendo esta línea entre el open y el send:

pagina_requerida.overrideMimeType("text/html; charset=ISO-8859-1")

El código de nuestra pagina.html quedaría de esta forma:

<SCRIPT language="JavaScript1.2">
/// Variables para la velocidad de scroll
var pixeles = 1 // Número de pixeles que baja en cada scroll
var pausas = 30 // Tiempo de pausa entre scroll en ms
/// Direccion de la página a cargar
var url = 'resultados.html'
// Esta funcion se ejecuta en la carga de la pagina
window.onload=initialize;
function initialize(){
actualizarAjax(url, 'contenidos')
}
// Esta función cargará las paginas mediante Ajax
 function actualizarAjax(url, id_contenedor){
 var pagina_requerida = false
 if( !window.ActiveXObject ) {// Si es Mozilla, Safari, etc
 pagina_requerida = new XMLHttpRequest()
 } else if( window.ActiveXObject ){ // pero si es IE
 try {
 pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
 }
 catch (e){ // en caso que sea una versión antigua
 try{
 pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
 }
 catch (e){alert("Error al cargar página mediante Ajax")}
 }
 }
 else return false
 pagina_requerida.open('GET', url, true) // asignamos los métodos open y send
  pagina_requerida.overrideMimeType("text/html; charset=ISO-8859-1")
 pagina_requerida.send(null)
 pagina_requerida.onreadystatechange = function(){ // función de respuesta
 cargarpagina(pagina_requerida, id_contenedor)
 }
 }
// todo es correcto y ha llegado el momento de poner la información requerida en su sitio en la pagina xhtml
 function cargarpagina(pagina_requerida, id_contenedor){
 if (pagina_requerida.readyState == 4 &&
 (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
 document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
 }
 }
 </SCRIPT>
<HTML>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <title>Ajax</title>
 </head>
 <body>
 <div id="contenidos" lang="es" align="center">Actualizando...</div>
 </body>
 </HTML>

Etiquetas: ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: