我给你写个样本:
<script type="text/javascript">
var url="accept.asp?name="+document.thisForm.name.value(要查询的用户名)
var xml=new ActiveXObject("Msxml2.XMLHTTP")
xmlhttp.open("GET",url,true)
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
dm=xmlhttp.responseText//获取网页代码
alert(dm)
}
}
</script>
<form action="accept.asp" name=thisForm method="post">
<input name="name" type="text"><input type="button" value="查询">
</form>
'----------
accept.asp
'先连接数据库
如果有
response.write "有该产品"
else
response.write "没有该产品"
无刷新技术基本思想就是这个,依托于ajax,核心是xmlhttp,但不同浏览器是不同的,上面的仅在IE核心下可跑,你弄懂这个以后再去做兼容吧。还有什么不懂的可以留言。
给你一个我现在在用的,应该能学到不少基础。XP SP3+IIS5.1+IE8本地测试通过
静态表单页 test.html
<script language="javascript">
function Str(){
var temp_s
temp_s = document.getElementById('Stra').value
//必须判断一下输入的数据长度,如果不合法就不执行下面的,
//(这里把汉字一个字2字符的判断去掉了,你可以找找资料然后改改。)
if(temp_s.length<6){
document.getElementById("showmsg").innerHTML='<span style="color:redfont-size:12px">字符长度不够!</span>'
return false
}
var ttemp_s
ttemp_s = temp_s.substring(2,5)
var xmlhttp
if (window.ActiveXObject) {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}else if(window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest()
}
if (xmlhttp) {
xmlhttp.onreadystatechange=function (){
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
var RequestTxt=unescape(xmlhttp.responseText)
document.getElementById("showmsg").innerHTML=RequestTxt
}
}
else {
document.getElementById("showmsg").innerHTML='正在查找...'
}
}
xmlhttp.open("get","test.asp?Str="+ttemp_s,true)
xmlhttp.send("test.asp")
}
}
</script>
<body>
<p><input type="text" name="Stra" id="Stra" onblur="Str()"/></p>
<p>这里是执行结果的提示语:</p>
<p id="showmsg"></p>
</body>
ajax处理页test.asp
<%
'一定要加这句,不然回传值是如果是中文会乱码
Response.Charset="GB2312"
Str = Request.QueryString("Str")
'这个地方应该就是你写SQL语句查询的地方了。将需要返回的值用Response.Write返回就可以了。
Response.Write "<span style=""color:redfont-size:12px"">要查找的字符是"&Str&",成功啦!</span>"
Response.End
%>
//页面加载后调用function PageLoad() {
//设置定时器,定时5秒钟执行一次
setInterval(function () {
//这是到后台获取数据的ajax方法
$.ajax({
url: "要访问的地址",
data: "参数名=参数值",
success: function (msg) {
//对返回值的处理
}
})
}, 5000)
}
不过这有问题必须说明下,由于是刷新的且要定时更新,所以会每隔5秒(这个你可以自己自己设置成其他时间)访问一次后天和数据库,所以服务器的压力会比较大。如果同时访问的用户非常的多,那么服务器可能会承受不了而崩溃。
如果觉得回答满意,请给分,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)