我有 Laravel 11 / vuejs 3 / element-plus 2.9.5” 应用程序,我请求从我的 vue 文件保存表单:
const onSubmit = () => {
console.log(editMode.value)
if (editMode.value) {
console.log(form.title) // I SEE THIS MESSAGE
const updateTask = async () => {
// BUT I DO NOT SEE THESE MESSAGES BELOW_AND_NO_REQUEST_TO_SERVER
console.log('form.title::')
console.log(form.title)
console.log('form.id::')
console.log(form.id)
const formData = new FormData();
formData.append('title', form.title);
...
formData.append("_method", 'PUT');
try {
await router.post(router('admin.tasks.update', form.id), formData, {
preserveUrl: true,
preserveState: true,
preserveScroll: true,
onSuccess: (page) => {
console.log('UPDATE page::')
console.log(page)
resetFormData();
Swal.fire({
toast: true,
icon: "success",
position: "top-end",
showConfirmButton: false,
title: page.props.flash.success
});
}
})
console.log('AFTER UPDATE::')
} catch (err) {
console.log(err)
}
}
}// editMode.value
} // const onSubmit = () => {
我在网上找到了这个例子——我应该发出异步请求吗?
什么代码是正确的?
我的想法是:我实际上不需要定义 updateTask 方法或在调用请求方法时使用异步:
更新区块:
所以我重建了 onSubmit :
const onSubmit = () => {
if (editMode.value) {
console.log('form.id::')
console.log(form.id)
const formData = new FormData();
formData.append('title', form.title);
formData.append('task_category_id', form.task_category_id);
formData.append('priority', form.priority);
formData.append('content', form.content);
formData.append('completed', form.completed);
formData.append('deadline_at', form.deadline_at);
formData.append("_method", 'PUT');
router.post(router('admin.tasks.update', form.id), formData, {
preserveUrl: true,
preserveState: true,
preserveScroll: true,
onSuccess: (page) => {
console.log('UPDATE page::')
console.log(page)
resetFormData();
Swal.fire({
toast: true,
icon: "success",
position: "top-end",
showConfirmButton: false,
title: page.props.flash.success
});
}
})
console.log('AFTER UPDATE::')
}// editMode.value
} // const onSubmit = () => {
但是我得到了错误:
这是什么错误以及如何修复?