首页 > 应用开发 > Java > new ActiveXObject(
首先是定义xmlHttp对象,new ActiveXObject("Microsoft.XMLHTTP");只在ie中起作用,火狐不认识,要兼容的话得改成下面这样定义:
var xmlHttp;
function CreateXMLHttpRequest()[@more@]{if(window.ActiveXObject)
{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest)
{xmlHttp=new XMLHttpRequest();
}}还有定义了对象后,就可用对象读取asp数据中的内容:xmlHttp.open("POST","/★120pfzj.cn/testjs/Server.asp",false);
xmlHttp.send(null); //注意:null可不能省略,否则火狐会读不出来
实现在不刷新静态页面的情况下动态加载数据(包括一个静态页面,一个js(ajax),一个asp页面,换句话说就是让js读取asp页面中的内容在静态页面中显示):下面是静态页面index.html的内容:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">
无标题文档
<!--将读取的内容放入这个层中-->
sever.asp页面内容:
<% @Language="JavaScript" %>
<% //一条记录用"###"隔开.每列数据用"@@@"隔开. 这是以只有两个列数据的情况.
sResult = "aaaaaaaaaa" + "@@@" + "bbbbbbbbbbb"+ "@@@" + "ccccccccccccccc"//escape解决了XMLHTTP。中文处理的问题.
Response.Write(escape(sResult));
//下面是数据速递的
%>ss.js中的内容(注意定义oBao和send中不能省略null兼容火狐):
function GetResult1()
{ var oBao;
if(window.ActiveXObject)
{
oBao=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
oBao=new window.XMLHttpRequest();
}/*----------------------------------*/function MyShow() {
oBao.open("POST","/★120pfzj.cn/testjs/Server.asp",false);
oBao.send(null);
var strResult = unescape(oBao.responseText);
var reb = strResult.split("@@@");
RemoveRow1(); //删除以前的数据.
aa="";
- "+reb[0]+"
- "+reb[1]+"
- "+reb[2]+"
document.getElementById('zdgx').innerHTML=aa;
}
function RemoveRow1() {
//保留第一行表头,其余数据均删除.
document.getElementById('zdgx').innerHTML="";
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7718881/viewspace-1041217/ ,如需转载,请注明出处,否则将追究法律责任。