2011-04-30 45 views
1

我有這樣的for循環中的jQuery從jQuery的發送增量值PHP文件與循環幫助

$(document).ready(function() { 
     for(i=0; i<counter; i++) 
     { 
      dataCounter = i; 
      $.ajax({ 
       url: 'file.php', 
       dataType: 'json', 
       data: dataCounter, 
       error: function(){ 
        alert('Error loading XML document'); 
       }, 
       success: function(data){ 
        $("#contents").html(data); 
       } 
      }); 
     } 
}); 

然後,我想帶我dataCounter到file.php作爲變量,並把它的變化每次我都可以在file.php中的mysql中獲得不同的記錄,我是這樣做的嗎? PHP部分將如何看起來像?我知道如何通過這種方法將變量傳遞給一個php文件,如果我有一個表單,但我沒有獲取或發佈表單來處理。另外,我的變量將會改變。

有人可以幫助我嗎?謝謝!

回答

2

雖然我不建議運行在一個循環內的AJAX查詢,我wiling解釋data選項$.ajax()。理想情況下,你傳遞一個對象作爲data選項,它是由jQuery的轉換成一個查詢字符串,每個對象屬性名稱是一個關鍵,它的值是值:

data: { 
    count: dataCounter 
} 

成爲

?count=1 

在ajax請求的查詢字符串中,如果datacounter等於1.

在PHP中,您將以$_GET['count']的身份訪問它。

+0

謝謝,這是有道理的。如果你不建議在循環中運行ajax查詢,你能給我一些我應該做什麼的建議嗎?謝謝 – hellomello 2011-04-30 04:32:33

+0

爲了避免使用http請求衝擊你的服務器,也許你可以運行循環來確定dataCounter將覆蓋的範圍,然後在ajax請求中發送該範圍信息並讓PHP在該範圍內循環。 **編輯:**這只是一個建議,我不知道你的全部情況是知道它是否可行。也許你的循環不像我想象的那麼大,但它似乎有潛在危險。 – JAAulde 2011-04-30 04:34:45

+0

是的,我只是想循環像5個增量左右。也許最多10 – hellomello 2011-04-30 04:56:32

2

數據需要是鍵值對,而不僅僅是您在此處的值。嘗試是這樣的:(未測試)

$.ajax({ 
       url: 'file.php', 
       dataType: 'json', 
       data: ({dataCounter : dataCounter}), 
       error: function(){ 
        alert('Error loading XML document'); 
       }, 
       success: function(data){ 
        $("#contents").html(data); 
       } 
      }); 
+0

+1你打敗了我。但是,就個人而言,我不會把它包裹起來。 – JAAulde 2011-04-30 04:30:29