Я новичок в веб-программировании, поэтому извините за наивный вопрос, я пытался искать в Интернете, но не смог найти ответ на свой основной вопрос.
Я использую extjs (для виджетов и ajax) и python (используя бутылку) на стороне сервера.
вот мое требование.
У меня есть редактор extjs EditorGrid, который имеет только один столбец (редактируемый). на индексном маршруте (бутылочном маршруте) я возвращаю словарь json, который заполняется в этой сетке и отображается, все хорошо до этого момента, теперь я хочу обновить значение этого столбца и сохранить обновленное значение на стороне сервера.
поэтому я добавил еще один маршрут в свой скрипт Python и ajax_reply в качестве URL-адреса моего запроса ajax в javascript (код ниже).
теперь мой вопрос заключается в том, как мне отправить ответ клиенту, скажем, например, я хочу отправить отказ клиенту (т.е. обновление не было успешным на сервере, и я хочу отправить ответ ajax о том, что обновление не удалось. я пытался отправить случайный материал из мой маршрут ajax_reply, но на клиенте всегда вызывается успех.
Я не понимаю, как отправить ответ json из функции ajax_repose, а затем снова проанализировать его в моей функции успеха или отказа javascript, чтобы действовать соответствующим образом.
любая помощь очень ценится
@bottle.route('/ajax_reply', method='POST')
def update_column():
return { 'success' : False }
var grid = new Ext.grid.EditorGridPanel({
tbar: [{ text : 'Remove' }, {text : 'Add'}],
ds: ds,
frame:true,
listeners: {
afteredit : function(e){
Ext.Ajax.request({
url : '/ajax_reply',
params : {
action: 'update',
id : e.record.id,
field: e.field,
value : e.value
},
success : function(resp, opt){
e.record.commit();
Ext.Msg.alert('SUCCESS', 'success...');
},
failure: function(resp, opt){
Ext.Msg.alert('ERROR', 'error...');
e.record.reject();
}
});
}
},