页面是连续自动重新加载

时间:2016-09-09 07:10:44

标签: javascript ajax google-chrome

我正在使用servlet构建一个Web应用程序。当用户点击某个按钮时

<a href="myServlet?do=createBox">BOX</a>

触发servlet:

String jspAction = request.getParameter("do");

else if(jspAction.equals("createBox")){ 
    try{
        ArrayList<Product> products = cdb.getProducts();
        toJSON(products, "products.json");               

    }catch(Exception e){
        System.err.println("Error getting products from DB: " + e);
    }

    RequestDispatcher disp = getServletContext().getRequestDispatcher("/box_create.jsp");
    disp.forward(request, response);

}

cdb.getProducts();询问DB(SQLite)并返回其大小为arrayList products.size()是2012年的元素。

然后toJSON以JSON格式转换ArrayList。问题是当用户点击按钮时,下一页(box_create.jsp)会自动重新加载。下一个jsp页面包含bootstrap css和JS以及另外一个处理JSON

的页面

box_create.jsp

<div class="col-md-3">
   <input type="text"  id="product" list="products" class="form-control"/>
   <datalist id="products"></datalist>
</div>

JS for JSON

var dataList = document.getElementById('products');
var input = document.getElementById('product');
var request = new XMLHttpRequest();

request.onreadystatechange = function(response) {
  if (request.readyState === 4) {
    if (request.status === 200) {
      // Parse the JSON
      var jsonOptions = JSON.parse(request.responseText);

      // Loop over the JSON array.
      jsonOptions.forEach(function(item) {
        var option = document.createElement('option');

        option.value =item.productId;
        option.text = item.description;
        dataList.appendChild(option);
      });

      // Update the placeholder text.
      input.placeholder = "Όνομα";
    } else {
      // An error occured :(
      input.placeholder = "error :(";
    }
  }
}; 

// Update the placeholder text.
input.placeholder = "Loading options...";

// Set up and make the request.
request.open('GET', 'products.json', true);
request.send();

如果我删除了

ArrayList<Product> products = cdb.getProducts();
toJSON(products, "products.json");     

页面不断重新加载.. 我不明白为什么会这样......

更新

我从jsp页面删除了所有JS。它还在重装!!!

我使用Firefox运行该应用程序,但我没有重新加载..这似乎与Chrome一起发生......

0 个答案:

没有答案