2013-07-12 137 views
0

我正面臨問題ExtJsOnClick函數它應該加載數據一次。但它每次點擊都會複製相同的數據。ExtJs添加Json數據

這裏是我的代碼:

function onselectionchange() 
{ 

jQuery.ajax({ 
    type: "POST", 
    url: "/Maintainer/getfolders", 
    data: null, 
    contentType: "application/json; charset=utf-8", 
    async: true, 
    success: function (result) { 
     var store = Ext.getCmp('gridpanel').getStore(); 
     store.loadData(result, true); 
    }, 

    error: function (p_Result) { 
     var error = "Error on controller: \"" + p_Controller + "\" in function: \"" + p_ControllerFunction + "\" statusText: \"" + p_Result.statusText; 
     alert(error); 
    }, 
    traditional: true 
}); 

} 
+0

你每次發佈相同的數據(實際上沒有數據)到相同的網址。爲什麼你會期望不同的產出? –

+0

數據由URL進一步存儲在結果中。該函數由grid.OnClickFunction調用。當我單擊顯示的數據時它工作正常,但是當我再次單擊時,每次單擊都會複製相同的數據。我想點擊功能只應該工作一次。如果可能的話,請幫助我。 grid.OnClickFunction =「onselectionchange()」; – user2576505

+0

您希望在第一次點擊單個行時發生該行爲,還是隻發生一次整體行爲。 – Reimius

回答

0
function onselectionchange() 
    { 
    if(clickonce == "") 
    { 
    ajax({ 
     type: "POST", 
     url: "/url", 
     data: null, 
     contentType: "application/json; charset=utf-8", 
     async: true, 
     success: function (result) { 

     enter code here 
     clickonce = 1; 
     } 

    }); 
    } 
    else 
    { 
     alert("already selected once"); 
    } 
    } 

什麼我'這裏做的是創建使用ClickOnce一個全局變量。當你第一次點擊按鈕時,json將被上傳,並且這個變量的標誌將被設置爲1,因此它將不會再被填充。