2014-10-20 52 views
0

我想在Bootstrap模式中顯示我的用戶數據的詳細信息。我使用AJAX加載數據,並使用knockout mapping plugin將它們綁定到Knockout ViewModel。Knockout映射插件:使用AJAX重新載入數據

這是工作得非常好,但只要我加載一次用戶數據多,我總是看到以下消息:

Error: You cannot apply bindings multiple times to the same element. 

淘汰賽視圖模型:

function UserViewModel() { 
    var self = this; 

    self.loadUserData = function(userId) { 
     $.ajax({ 
      type : "POST", 
      url : "/user/loadUserDetail.htm", 
      data: {"userId": userId}, 
      success : function(response) { 
       self.userHelper = ko.mapping.fromJSON(response); 
       ko.applyBindings(self); 
       $("#user-dialog").modal('show'); 
      }, 
      error : function(e) { 
       showErrorBox('Error: ' + e.status); 
      } 
     }); 
    } 
} 

哪有我解決了這個問題?

回答

0

將數據拉下來,但一旦擁有了它,使用var jsonToJsObj = $ .parseJSON(jsonResult)獲取js對象,然後使用ko.mapping.fromJS(jsonToJsObj)並且應該可以工作。

+0

感謝您的回覆。不幸的是,我收到了和以前一樣的信息。 – Tunguska 2014-10-21 06:43:57

+0

成功:函數(響應){var_jsonToJsObj = $ .parseJSON(response); self.userHelper = ko.mapping.fromJS(jsonToJsObj); ko.applyBindings(self); \t $(「#user-dialog」)。modal('show'); }, – Tunguska 2014-10-21 06:44:53