0

全て、

基本的にデータベースからいくつかのレコードを取得して表示するこの Ajax チュートリアルを使用していますレコードをまとめて表示するのではなく、1 つずつ表示するボタンを使用してコードを変更したいと考えています。私が実現したい動作は、ユーザーがボタンをクリックするたびに次のレコードを取得することです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 に答える