一个常用的AJAX函数LoadXML()
loadxml.js文件代码
function GetXmlHttp(url) {
var xmlhttp = false;
if(window.XMLHttpRequest) { //Mozilla 浏览器
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {//设置MiME 类别
xmlhttp.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE 浏览器
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!xmlhttp) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest 对象实例.");
return false;
}
return xmlhttp;
}
function loadXML(panel,xmlPath,xslPath){
/*var xmlhttp=GetXmlHttp();
xmlhttp.open("POST",xmlPath,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
writeContent(panel,xmlhttp,xslPath);
}
}
xmlhttp.send(null);*/
panel.innerText="Loading...";
var xml = new ActiveXObject("MSXML.DOMDocument");
xml.onreadystatechange=function() {
if (xml.readyState==4) {
writeContent(panel,xml,xslPath);
}
}
xml.async = true;
if (xmlPath.indexOf("http://")==0)
{
xmlPath="/xml.aspx?url="+xmlPath;
//location.href="http://"+location.host+xmlPath;
}
xml.load(xmlPath);
}
function writeContent(panel,xml,xslPath){
var xsl = new ActiveXObject("MSXML.DOMDocument");
xsl.onreadystatechange=function() {
if (xsl.readyState==4) {
panel.innerHTML=xml.transformNode(xsl);
}
}
xsl.async = true;
xsl.load(xslPath);
}
HTML页面代码
<script language="javascript" src="/oblog3/loadxml.js"></script>
<script language="JavaScript" type="text/javascript">
function LoadData(){
if (document.readyState!="complete"){
setTimeout("LoadData()",300);
return;
}
else{
loadXML(test,"loadXML.xml","loadXML.xsl");
}
}
LoadData();
</script>
<span id="test"></span>
xml和xsl代码自定