0
我有一個應用程序,顯示一個發佈按鈕的數據表。您可以選擇行,然後單擊發布它們。選定的數據以必要的json格式打包並通過ajax發送,以快速檢查數據是否有任何依賴關係。如果存在依賴關係,則會返回錯誤消息和這些依賴關係的列表。然後,您必須選擇依賴項加上父項並嘗試再次發佈。問題是在將數據操作到正確的json格式併發送給第一個調用之後,數據似乎在模型中完全無法使用和丟失......我可以撥打一次電話,但不能再次撥打電話。任何幫助深表感謝!這是我的控制器:恢復安博數據
export default Ember.ArrayController.extend({
actions: {
publishSubmit: function(){
var checkedItems = this.get('model').filterBy('isChecked', true);
if(checkedItems.length > 0){
this.send('dependencyCheck', checkedItems);
}
else{
this.announce.error('No items selected for publish.');
}
},
dependencyCheck: function(items){
var _this = this, data = [];
items.forEach(function(item){
delete item._data.isChecked;
delete item._data.sortByDate;
item._data.publisherId = item._data.id;
delete item._data.id;
item._data.updatedDate = null;
data.push(item._data);
});
//data formating(required)
data = _this.capitalizeAll(data);
data = JSON.stringify(data);
console.log(data);
Ember.$.ajax({
type: 'POST',
dataType: 'json',
contentType: 'application/json',
beforeSend : function(xhr) {
xhr.setRequestHeader("Token", sessionStorage.getItem('authToken'));
},
url: config.host + '/AssessmentPublishService/DependentPublishableItems',
data: data
}).then(function(dependencies){
var processDependencies = _this.processResponseData(dependencies);
if(dependencies.Status === "Success"){
console.log("ProccessD");
console.log(processDependencies);
return JSON.stringify(processDependencies);
}
else{
return this.announce.error('Failed to process.');
}
});
}
}
}
你絕對釘了它。我通過操縱私人數據誤解了我正在做的事情。一旦修改,我就永久地修改了數據。所以我按照你的建議做了,並將其零碎地推入一個新的結構。我不太瞭解地圖/序列化方法。它可能高於我的薪酬等級。非常感謝你的幫助! – campatsky