所有
我正在使用this Ajax tutorial,它基本上从数据库中提取一些记录并显示它们。我想用一个按钮来修改代码,该按钮将逐个显示记录而不是一起显示。我想要实现的行为是每次用户单击Show next
按钮时获取下一条记录。
为此,我在Ajax函数中构建了一个小计数器,用作索引来决定要打印的数组元素。这不起作用。 **我的问题是:为什么我的柜台不起作用?
这是html和Ajax代码:
<html>
<body>
<script type="text/javascript">
<!--
function createRequest() {
//Returns HttpRequest
return request;
}
//My attempt at a counter. This doesn't work.
var index=null;
function calcIndex(){
if(index==null){
index=0;
}else{
index += index;
}
return index;
}
(.....)
</body>
</html>
答案 0 :(得分:1)
您的calcIndex
函数声明已损坏,它缺少function
部分。你想确定要设置index += index
吗?这有点奇怪。不仅如此,即使您修复它并保持原样,索引也永远不会超过零:
var index=null;
function calcIndex(){
if(index==null){
index=0; // First call, now index = 0
}else{
index += index; // Second, third, ... nth call: index = 0 + 0
}
return index;
}
让我们简化:
var index = 0;
function calcIndex(){
return index++; // Returns zero first, then 1, then 2...
}
但等等,那时为什么你需要一个功能呢?相反,你可以简单地做:
var index = 0;
...
//index = calcIndex(); No point here
var queryString = "?age=" + age + "&wpm=" + wpm + "&sex=" + sex + "&index=" + index++;
^^^^^^^^
干杯