2013-09-25 15 views
1

我想處理使用MVC4 api控制器的json響應,該控制器將對象綁定到jstree插件,將響應綁定到樹中。這裏,響應包含一個文件夾列表和請求的httpresponse。響應取決於服務器連接[將其作爲的其中一個條件]。ajax成功回調函數重定向到錯誤回調時響應json對象數據計數爲零

案例1:如果服務器連接是好的,則響應是文件夾對象(Remember the folder count may be zero, this is where the problem exist, this has to be the success case and message like no leaf node exist has to be displayed but can also be the case of error as explained in case 2)用的HttpResponse [200,OK]。

情況2:當服務器連接不正確時,響應是文件夾對象計數爲零,並且必須在錯誤回調函數中處理,並將錯誤消息顯示爲服務器連接錯誤。

所以問題是,當服務器連接正常,文件夾對象計數爲零時,響應首先進入成功回調,然後進入錯誤回調,這將顯示錯誤消息作爲服務器連接錯誤但是我需要顯示沒有葉節點存在。

代碼在客戶端:

var recreateTree = function (model) { 
     $(#treeview) 
      .jstree({ 
       "json_data": { 
        "ajax": { 
         "url": window.virtualPath + "api/myDirectory/TreeViewNodes/", 
         "type": "POST", 
         "data": {}, 
         "success": function (data) { 
          do something... 
         }, 
         "error": function (data) { 
          do something else... 
         } 
        } 
       }, 
       "themes":{......}, 
       .......... 
      }).bind(........binding code.......); 

誰能幫我呢?

+0

當它已經有成功的回調函數時,如何進行錯誤回調? –

+0

@LolCoder,這是我困惑,無法得到任何解決方案。 – user79307

+0

我強烈懷疑你的代碼.....你可以通過e.preventDefault()終止當前事件來阻止進一步的事件過程()..... –

回答

0

對不起,我錯誤地解釋了你的問題。

該問題似乎與解析數據響應有關。

空字符串被認爲是格式錯誤的JSON並觸發錯誤。

您可以嘗試返回'{}'而不是空字符串來解決問題。

+0

試過但沒有工作。一旦回調進入onSuccess,即使你不使用條件,回調會重定向到onError本身,這是完全不可取的。可能是什麼問題? – user79307

+0

對不起,我起初誤解了你的問題。我更新了答案。 –