我需要保存一些数据并返回在SQL 2005数据库中创建的ID。我需要在保存之前将ID传递给另一个对象,以便我可以正确关联它们。
使用Ext实现此目的的最佳方法是什么?框架内置了什么使这个变得简单吗?
感谢。
function AddPromotionType() {
var currentDate = new Date();
var newTypeJsonObject = {
promotionTypeId: '0',
promotionType: Ext.getCmp('txtPromoType').getValue(),
updatedBy: userid,
updateDate: currentDate
}
// serialize our service object
var newLevelJsonData = Ext.encode(newTypeJsonObject);
// call the web service and pass over our service object
Ext.lib.Ajax.defaultPostHeader = 'application/json';
Ext.Ajax.request({
url: 'Service/AddPromoType',
method: 'POST',
params: newLevelJsonData,
success: function(response, options) {
AddTypeWindow.destroy();
AddTypeWindow.hide();
// refresh dropdown to reflect new data
Ext.getCmp('newPromoType').getStore().reload();
},
// if data fails to save, show message
failure: function(response, options) {
Ext.MessageBox.alert('Error saving new promotion type', response.responseText);
}
});
}
答案 0 :(得分:1)
假设您的服务器使用新id传回更新的数据,您的成功回调的响应参数应该包含它。当使用自动化Ajax调用的Stores中内置的工具(例如,Ext Direct,REST API支持等)时,id会自动在适当的Record上更新,您可以处理商店的add
事件来检查记录。但是,由于您正在进行手动Ajax调用,因此如果您需要id,请立即检查您的响应。