0

全部,

我正在使用这个 Ajax 教程,它基本上从数据库中提取一些记录并显示它们。我想用一个按钮来修改代码,该按钮将一个一个地显示记录,而不是一起显示。我想要实现的行为是每次用户单击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>
4

1 回答 1

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++;
                                                                              ^^^^^^^^

干杯

于 2012-11-28T00:31:20.743 回答