diff --git a/assets/js/forum-governance.js b/assets/js/forum-governance.js index 12b43db7..239161e4 100644 --- a/assets/js/forum-governance.js +++ b/assets/js/forum-governance.js @@ -1115,12 +1115,38 @@ data.append('draft_id', draftId); fetch(ajaxUrl, { method: 'POST', body: data, credentials: 'same-origin' }) - .then(function (r) { return r.json(); }) - .then(function (payload) { - if (payload.success) { + .then(function (r) { + return r.text().then(function (text) { + var payload = null; + try { + payload = text ? JSON.parse(text) : null; + } catch (e) { + payload = null; + } + return { ok: r.ok, status: r.status, payload: payload, raw: text }; + }); + }) + .then(function (res) { + if (res.payload && res.payload.success) { var item = btn.closest('.aksrt-forum-compose__draft-item'); if (item) item.remove(); + return; } + var msg = (res.payload && res.payload.data && res.payload.data.message) + || (res.payload && res.payload.message) + || (res.status === 500 + ? '服务器错误:请确认主题已更新到最新 main(Forum.php 草稿 autoload 修复)' + : '删除失败'); + if (window.console && console.warn) { + console.warn('[aksrt] delete draft failed', res.status, msg); + } + window.alert(msg); + }) + .catch(function (err) { + if (window.console && console.warn) { + console.warn('[aksrt] delete draft network error', err); + } + window.alert('删除失败,请稍后重试'); }); }); });