私奔
ata = new FormData(); formData.append('action', isEdit ? 'edit' : 'add'); if (isEdit) formData.append('id', id); formData.append('domain', editDomain.value.trim()); formData.append('title', editTitle.value.trim()); fetch(API, { method: 'POST', body: formData }) .then(r => r.json()) .then(res => { if (!res.ok) { showMsg(res.msg || '操作失败', true); return; } showMsg(res.msg || (isEdit ? '修改成功' : '添加成功'), false); resetForm(); loadList(); }) .catch(() => showMsg('请求失败', true)); }); function resetForm() { editId.value = ''; editDomain.value = ''; editTitle.value = ''; formTitle.textContent = '新增'; btnCancel.style.display = 'none'; } listEl.addEventListener('click', function(e) { var id = e.target.getAttribute('data-id'); if (!id) return; if (e.target.classList.contains('edit-btn')) { fetch(API + '?action=get&id=' + id) .then(r => r.json()) .then(res => { if (!res.ok) { showMsg(res.msg || '获取失败', true); return; } var d = res.data; editId.value = d.id; editDomain.value = d.domain; editTitle.value = d.title; formTitle.textContent = '修改'; btnCancel.style.display = 'inline-block'; }); } else if (e.target.classList.contains('del-btn')) { if (!confirm('确定删除 id=' + id + ' 吗?')) return; var fd = new FormData(); fd.append('action', 'delete'); fd.append('id', id); fetch(API, { method: 'POST', body: fd }) .then(r => r.json()) .then(res => { if (!res.ok) { showMsg(res.msg || '删除失败', true); return; } showMsg('删除成功', false); loadList(); }); } }); btnCancel.addEventListener('click', resetForm); loadList();