asp无刷新读取数据

asp无刷新读取数据,第1张

这个不好具体写,但是无刷新是依托于ajax技术的,而不仅是asp,你在网上查一下"ajax教程"吧。

我给你写个样本:

<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

//必须判断一下输入的数据长度,如果不合法就不执行下面的,

//<6的地方你可以定义至少输入几个字符

//(这里把汉字一个字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秒(这个你可以自己自己设置成其他时间)访问一次后天和数据库,所以服务器的压力会比较大。如果同时访问的用户非常的多,那么服务器可能会承受不了而崩溃。

如果觉得回答满意,请给分,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10647615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存