Как вы видите, есть две кнопки (собирать/архив) в каждой строке таблицы, разрешающей, позволяя разрешить, что позволяет получить Пользователь обновляет базу данных через другую службу REST, которая принимает данные через HTML PUT. Когда кнопка нажимается, выполняется следующий код: < /p>
Код: Выделить всё
function updateSourceState(sourceTypeId, sourceId, dataForUpdate) {
$.ajax({
url: '/update',
data: {source_type_id: sourceTypeId, source_id: sourceId, data_for_update: dataForUpdate},
dataType: 'json',
type: 'PUT',
success: function (data) {
console.log('Data updated successfully');
},
error: function(data) {
console.log('Data update failed. Response: ' + data);
}
}).done(function() {
console.log('DONE: data updated successfully');
}).fail(function(msg) {
console.log('FAIL: data update failed: ' + msg);
}).always(function(msg) {
console.log('ALWAYS message: ' + dataForUpdate + ', url: ' + url);
});
}
Код: Выделить всё
@bp.route('/update')
def update_source_state():
app.logger.debug('[DEBUG] entering update_source_state()')
source_id = request.args.get('source_id')
source_type = request.args.get('source_type_id')
dataForUpdate = request.args.get('data_for_update')
url = '{0}/{1}/source/{2}'.format(ARCHIVE_CONFIG_BASE_URL, source_type, source_id)
response = requests.put( url=url
, data=dataForUpdate
, headers={'Content-Type': 'application/json', 'accept': 'application/json'}
)
if response.status_code == 200:
return jsonify({'status': 'success'}), 200
elif response.status_code == 405:
return jsonify({'status': 'method not allowed'}), 405
elif response.status_code == 500:
return jsonify({'status': 'server error'}), 500
else:
return jsonify({'status': 'failed'}), 600
Каков правильный синтаксис для выполнения PUT-запрос к службе REST в этой настройке? Любая помощь приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-and-ajax
Мобильная версия