ajax asp 如何循环读取数据???

NEWTYPE_Coordinator 2009-01-21 08:24:40
数据库hits字段有10条记录需要读取,asp页面不知道怎么写,希望高手指点啊!!!
希望是在asp页面调用下面的 main_showPlayer(str)函数,先实现读取hits字段的多条记录,然后有个点击事件可以更新hits字段的数值。
如 main_showPlayer(“player1”) main_showPlayer(“player2”)... 读取多个,点击某条记录时字段hits会加1。

js代码如下:
function main_showPlayer(str)
{
var playerstr = str;
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("您的浏览器不支持AJAX!");
return;
}
var url="player/adoration.asp";
url=url+"?playerid=" + playerstr.substr(6,1);
xmlHttp.onreadystatechange = main_stateChanged(playerstr);
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function main_stateChanged(obj)
{
var objval = obj;
if (xmlHttp.readyState==4)
{
document.getElementById(objval).innerHTML = xmlHttp.responseText;
}
}
//---------------------------------------------------------------------
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
quweiie 2009-04-13
  • 打赏
  • 举报
回复

use jquery
$.getJSON(url,{playerid:2},function(msg){msg.a});
json:
{a:'pear',b:'banana',c:'apple'}
  • 打赏
  • 举报
回复
还是没明白 数据是怎么读取出来的
我需要从数据库中按照一定的要求批量读出一些数据
function main_stateChanged()
{
if (xmlHttp.readyState==4)
{
var str = xmlHttp.responseText;
var arr = str.split(",");
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
}
}
这个好像是读出一个数据 拆分成多个吧?
saisky 2009-04-10
  • 打赏
  • 举报
回复
一次读取即可
后台传回数据可以采用json或者xml或者像楼上几位说的拼接字符串用固定符号隔开
前台针对不同方式进行解析,循环读取即可。
米枷勒 2009-02-03
  • 打赏
  • 举报
回复
直接全部显示出来不就可以了,搞那么复杂做啥呢?要好看弄个Loading的提示(GIF or FLASH)的都可以,返回数据完后让提示消失掉就好了
phper2008 2009-01-22
  • 打赏
  • 举报
回复
ajax一次性读取,没有一条一条读的必要,

一次性把数据读出来后用分隔符分隔,或者转换成json格式方便回调!

阿云ivan 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lihui_shine 的回复:]
第一:
xmlHttp.onreadystatechange = main_stateChanged(playerstr);
这句有问题的,onreadystatechange是一个function类型的属性,可以直接赋main_stateChanged,即
xmlHttp.onreadystatechange = main_stateChanged;

第二:
ajax是从后台一次性把数据全读出来的,哪有一个一个读的道理,逻辑上允许,效率上也不允许,因为这会话大量的时间在页面和后台的传输上,效率显然低
后台将数据全部查出来,拼装好一起扔给页面,至于…
[/Quote]

试试楼上的
浪尖赏花 2009-01-21
  • 打赏
  • 举报
回复
第一:
xmlHttp.onreadystatechange = main_stateChanged(playerstr);
这句有问题的,onreadystatechange是一个function类型的属性,可以直接赋main_stateChanged,即
xmlHttp.onreadystatechange = main_stateChanged;

第二:
ajax是从后台一次性把数据全读出来的,哪有一个一个读的道理,逻辑上允许,效率上也不允许,因为这会话大量的时间在页面和后台的传输上,效率显然低
后台将数据全部查出来,拼装好一起扔给页面,至于怎么拼装,看个人喜好
比如:后台 String str = "player1,player2,player3";

页面
function main_stateChanged() 
{
if (xmlHttp.readyState==4)
{
var str = xmlHttp.responseText;
var arr = str.split(",");
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
}
}



52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧