2016-11-08 63 views
1

我不知道为什么AJAX不断拨打电话,这样一来自己这么辛苦按下一个按钮,该网站是没有这样的功能...:http://buycheapvaporizer.com/products.phpAJAX不断刷新内容呈现我的按钮没用

我的JS文件:

$(document).ready(function(){ 
product(); 

function product(){ 
    $.ajax({ 
     url : "productloader2.php", 
     method: "POST", 
     data : {getProduct:1}, 
     success : function(data){ 
      $("#get_product").html(data); 
     }, 
     complete: function() { 
      setTimeout(product, 10000); 
     } 
    }); 
} 
}); 
+2

'setTimeout(product,10000)'在10秒后调用'product' –

回答

0

当ajax请求完成时,它执行setTimeout(product, 10000);然后在10000ms后再次调用产品功能。

+0

我尝试用alert()替换setTimeout并且它一直提醒我... –

+0

向我展示详细示例您要做什么或粘贴你的最终代码请 –

+0

这是我的productloader2.php应该加载产品的数据库和阿贾克斯应该使请求检索此信息 –

0
$(document).ready(function(){ 
    product(); 

    function product(){ 
    $.ajax({ 
     url : "productloader2.php", 
     method: "POST", 
     data : {getProduct:1}, 
     success : function(data){ 
     $("#get_product").html(data); 
     } 
    }); 
    } 
}); 
+0

你只需要这个 –

+0

仍然保持清爽 –

+0

检查你是否在其他地方调用产品()函数 –

1

我检查productloader2.php具有main.js和相同的代码,你已经张贴在这里。这将创建一个无限循环product被每个负载productloader2.php调用。您最好在productloader2.php删除main.js。你可以使用JSON来获取产品。

product(); 

function product(){ 
    $.ajax({ 
     url : "productloader2.php", 
     method: "POST", 
     data : {getProduct:1}, 
     success : function(data){ 
      $("#get_product").html(data); 
     }, 
     complete: function() { 
      setTimeout(product, 10000000000000); 
     } 
    }); 
} 

这里的一个流程图的发生

  1. products.php呼叫product()为第一次(和寄存器间隔)
  2. productloader2.php加载
  3. product()productloader2.php(第一次和寄存器称为间隔)。
  4. productloader2.phpproductloader2.php加载。并再次调用product()并继续循环。

最终,页面可能会崩溃。

+0

是的,谢谢!这固定它! –

+0

然后您可以接受答案:) –

+0

我该如何接受答案? –