2011-06-02 49 views
0

我想設置一個計數器到我的jQuery ajax發佈函數返回。我試圖做的是確定後端是否返回任何東西。所以我試圖計算每個函數運行的次數,但是在post函數完成之後,我被設置回零。但在中間,我的功能正常。這是爲什麼發生?如何檢查響應是否爲空?

i=0;  
$.post(url, data, function(resp) { 

     $('form').find('.errors').remove(); 
     $.each(resp, function(index, value) { 

      $("#" + index).parent().append(getErrorHtml(value, index)); 
      i++; 
      c.log(i); 
     }); 

    }, 'json'); 
c.log(i); 

謝謝!

可以使Ajax請求同步幫助嗎? $.ajaxSetup({async:false});

回答

0

答案是,那回調不符合的其餘功能啓動。因此,如果在函數之外定義了某些內容,並且在函數中執行了某些操作,並且在該函數之後,它會被回顯,但不確定這些操作是否按特定順序發生。

更接近我的問題,我試圖在執行回調之前使用c.log()

1
$.post("test.php", { name: "John", time: "2pm" }, 
    function(data) { 
    alert("Data Loaded: " + data); 
    }); 

這裏數據是響應或輸出。 您可以點擊此處查看

http://api.jquery.com/jQuery.post/

+0

如果我嘗試記錄'resp',它告訴我它沒有被定義。 – 2011-06-02 21:31:08