2016-11-08 41 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

我該如何接受答案? –