Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
24/04/11 19:43
Ho notato su internet la possibilità, tramite l'oggetto XMLHttpRequest, di aggiornare il contenuto della pagina senza un reload totale.

Ho scritto una "libreria":
var req = false;
if(window.XMLHttpRequest) {
  try {
    req = new XMLHttpRequest();
  } catch(e) {
    req = false;
  }
} else if(window.ActiveXObject) {
  try {
    req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e) {
    try {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      req = false;
    }
  }
}

function readHTML(inner, page, params, textError) {
  if (!req) return false;
  var url = 'http://' + page + '/?';
  if(params.length % 2 == 1)
  {
    params.concat("");
  }
  for(i = 0; i < params.length / 2; i += 2)
  {
    url += params[i] + '=' + params[i + 1] + '&';
  }
  req.open('GET', url, true);
  req.setRequestHeader("Connection", "Close");
  req.onreadystatechange = function() {
    if (req.readyState == 4) {
      if (req.status == 200) {
        if (req.responseText != '') {
          inner.innerHTML = req.responseText;
        }
      } else {
        inner.innerHTML = textError;
      }
    }
  }
  req.send(null);
  return true;
}


La carico all'inizio della pagina HTML, la imposto con un setInterval ma non va!
Ho provato anche a eseguirla con gli strumenti di sviluppo integrati in Google Chrome e IE9 ma, se eseguita su un sito valido, l'errore non gestito:
XMLHttpRequest cannot load google.it/?. Origin null is not allowed by Access-Control-Allow-Origin.

Ho provato con più di un sito e anche con nomi completi (nomesito.it/index.php/?)

Qualcuno può aiutarmi?

Grazie in anticipo, spero di essere stato abbastanza chiaro. :)
24/04/11 22:35
HeDo

sei rimasto un po indietro...
l'oggetto activex xmlhttprequest si usava 6 anni fa agli albori di ajax, ora faresti molto meglio ad implementare il tutto con jquery:

api.jquery.com/jQuery.ajax/
aaa