2012-12-19 86 views
0

我有一個商店,配置了一個代理來更新我的數據庫。sencha touch 2商店代理API讀取響應

代理:{ 類型: 「AJAX」, API:{ 創建:MySite.app.BaseURL + '?Member.php行動=創建', 讀:MySite.app.BaseURL +「Member.php 」, 更新:MySite.app.BaseURL + '?Member.php行動=更新', 破壞:MySite.app.BaseURL + 'Member.php行動=刪除' },

這一切工作正常?但我真正想要的是能夠讀取響應,以便向用戶報告更新的成功或失敗。

例如,當一個更新成功的JSON下面在響應中返回,

{「成功」:真,「消息」:「更新」}

如果未成功,則以下返回,

{「成功」:假的,「消息」:「什麼可怕的事情發生」}

我試着添加監聽到商店如下,但這似乎並沒有拿起響應。

listeners: { 

     success: function(response) { 

       console.log(response); 

       var data = Ext.JSON.decode(response.responseText.trim()); 

       console.log(data); 

       if(data.success == 'true') { 
       console.log('success'); 
       } 
     } 
    }, 

任何人都可以幫忙嗎?

回答

0

商店不會觸發成功事件。必須在每個操作中使用成功,失敗或回調函數進行配置。

例如,當您執行同步,你可以做這樣的事情:

myStore.sync({ 
    success: function(batch, options) { 
     console.log(response); 
    } 
}); 

鑑於存儲與bacths工作,還得看,才能知道該批次領域,如果它是正確的,或者不。

0

成功時,商店將觸發'寫入'事件。如果發生故障,代理將觸發「異常」事件。這個'異常'事件應該會冒泡到它的父母(商店),所以你店裏的聽衆應該是'寫'和'異常'。您可以查看這些事件的參數。對於'寫'事件,參數應該是商店本身和操作。操作應該有你需要的所有信息來做記錄或任何你想要的。