2014-02-28 68 views
0
var p = 1; 
var flag = 0; 
$(window).scroll(function(){ 
    if(flag == 0){ 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      $.get('/fetchMore.php?page=' + p, function(data){}); 
        p++ 
      } 
    } 
});       

我有一個頁面,當向下滾動時,頁面將使用$ .get來獲取更多的數據。在我fetchMore.php

我已經設置瞭如果沒有更多的數據,$標記== 1,我需要出去把JavaScript來更新變種的標誌,所以滾動功能將無法再獲取

我的問題是如何從fetMore.php頁面更新var標誌?

回答

1

您不能直接從ajax調用php來更改javascript變量。當沒有更多數據可用時,您可能會傳遞一個空數據,並檢查javascript中的數據是否爲空並將標誌分配給1

標誌被分配爲1時,它將不會再獲取。

var p = 1; 
var flag = 0; 
$(window).scroll(function(){ 
    if(flag == 0){ 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      $.get('/fetchMore.php?page=' + p, function(data){ 
       if(data == {} || data == [] || data == "") { 
        flag = 1; 
       } 
      }); 
     } 
    } 
}); 
0

當你從它被JS收到你的PHP腳本提出申請,要求它這樣echo東西:

echo $flag從你的PHP腳本,然後:

$.get('/fetchMore.php?page=' + p, function(data){ 
    if(data == 1) { 
     flag = 1 
    } 
} 

你可能要檢查在您的PHP腳本中,如果數據可用或不可用。

if(!$data.length){ 
    // there is no more data 
    echo "1"; // or something more useful 
    exit(); // this stops further execution of the script 
} 
// if there is data the script will continue to run and you can echo or do anything else later.. 
+0

我會輸出很多數據,我不想在第 – Ben

+0

頁回顯1 @BenWong檢查更新的答案 –