ITPub博客

首页 > 应用开发 > Java > new ActiveXObject(

new ActiveXObject(

原创 Java 作者:Linda1980 时间:2010-11-09 14:54:27 0 删除 编辑

首先是定义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">


</font></span><span><font face="宋体" size="4">无标题文档</font><font face="宋体"><font size="4"><span lang="EN-US">



<!--将读取的内容放入这个层中-->


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();
}
     /*----------------------------------*/
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="";
}
function MyShow() {
//10
秒自动刷新一次,10秒取得一次数据
.
timer1=window.setInterval("GetResult1()",10000);
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7718881/viewspace-1041217/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-07

  • 博文量
    29
  • 访问量
    257408