Il codice che segue non funziona con i "nuovi" browser, quelli che trattano l'oggetto XMLHttpRequest in maniera nativa (IE7, FF 2.0, OP 9.0). Qualcuno può testare se capita solo a me?
libAjaxUtil.js:
content.html:codice:function makeXMLHttpRequest() { var request = undefined; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); if (request.overrideMimeType) { request.overrideMimeType("text/xml"); } } else { if (window.ActiveXObject) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} } } } return request; }
index.html:codice:<h2>AJAX funziona</h2>
Grazie per l'aiuto...codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="it" dir="ltr" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="js/libAjaxUtil.js"></script> <title>AJAX</title> </head> <body> <div id="content">Non posso utilizzare AJAX</div> <div class="test">TEST</div> <script type="text/javascript"> <!-- function ajaxCallback() { try { if (xmlHttpRequest.readystate == 4) { if (xmlHttpRequest.status == 200) { var text = xmlHttpRequest.responseText; var doc = xmlHttpRequest.responseXML; document.getElementById('content').innerHTML = text; } else { if (xmlHttpRequest.status == 404) { alert('404: Not Found'); } else if (xmlHttpRequest.status == 500) { alert('500: Internal Server Error'); } else { alert(xmlHttpRequest.status + ': ' + xmlHttpRequest.statusText); } } } else { // In esecuzione } } catch(e) { alert('Errore in callback function: ' + e); } } var xmlHttpRequest = makeXMLHttpRequest(); if (!xmlHttpRequest) { alert('Non è possibile utilizzare AJAX'); } else { xmlHttpRequest.onreadystatechange = ajaxCallback; xmlHttpRequest.open('GET', 'content.html', true); xmlHttpRequest.send(null); } //--> </script> </body> </html>![]()

Rispondi quotando