给一个示例吧:
function requestHttp(){
var request
if(window.XMLHttpRequest) {
request = new XMLHttpRequest()
if(request.overrideMimeType) {request.overrideMimeType('text/xml')
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']
for(var i=0i<versions.lengthi++) {try
{request = new ActiveXObject(versions[i])break}
catch(e) {}
}}
return request
}
function xmlhttp(){
this.r=requestHttp()
}
xmlhttp.prototype.postopen=function(url,data){
this.r.open('POST',url,false)
this.r.setrequestheader("content-type","application/x-www-form-urlencoded")
this.r.onreadystatechange = ReadyStateChange(this)
if(typeof(data)=='undefined')
this.r.send()
else
this.r.send(data)
}
xmlhttp.prototype.getopen=function(url){
if(window.XMLHttpRequest) {this.r.open('GET',url)
this.r.onreadystatechange = ReadyStateChange(this)
this.r.send(null)
} else {
this.r.open("GET", url, true)
this.r.onreadystatechange = ReadyStateChange(this)
this.r.send()
}
}
ReadyStateChange=function(obj){
return function(){
if(obj.r.readyState==4){
obj.status=obj.r.status
obj.text=obj.r.responseText
obj.body=obj.r.responseBody
callpage()
}
}
}
把这个别存为Shopajax.js
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="shopajax.jss"></script>
</HEAD>
<BODY>
<div id="as"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ajax=new xmlhttp()
debugger
ajax.getopen("1.html")
function callpage(){
if(ajax.status==0){//本地为0,远程为200
var obj=eval('('+ajax.text+')')
document.getElementById("as").innerHTML="年纪:"+obj.Age+"<br>薪水:"+obj.Money
}
}
//-->
</SCRIPT>
</BODY>
</HTML>
这个随便存一个页面保存为index.html
{"Money":2000.00,"Age":21}
把这个存成一个1.html
保存完后,点击Index.html就可以看到Div里面有值了。值是从1.html里面取到的。这个过程实现 了Ajax
HTML静态本身是不可以直接连接数据库的,但是可以在静态网页里嵌套一个JS脚本或一个<iframe>,再在这个JS或<iframe>里连接数据库。这样就达到了HTML静态网页显示数据库内容的目标。这种方法是被各大网站广泛应用的,例如一篇太平洋网上的热点文章。它的文章主体是一个静态网页,但文章下面的评论却是动态的数据库内容。类似的还在非常多,尤其是一些大型网站<script language='javascrpt' src='xxx.asp'></script>其实就是计数器的方式,xxx.asp是读取字段值。
未测试,测试好了告诉一声。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)