Vue.js 在Vuejs和PHP中一次推送和插入
我想在Vue.js 在Vuejs和PHP中一次推送和插入,vue.js,axios,Vue.js,Axios,我想在数组中推送值。它将立即显示值。不需要刷新整个页面 app.todoList.push(this.todo) 有了这条线,我就做到了 同时,我想将这个值插入数据库。问题就在这里。不同的是,它们工作得非常完美。但这是个问题 这就是问题所在 数据: 提交表格: <form class="w-100" @submit="createTodo"> <div class="form-group w-100"> <input type="text" cl
数组中推送值。它将立即显示值。不需要刷新整个页面
app.todoList.push(this.todo)
有了这条线,我就做到了
同时,我想将这个值插入数据库。问题就在这里。不同的是,它们工作得非常完美。但这是个问题
这就是问题所在
数据:
提交表格:
<form class="w-100" @submit="createTodo">
<div class="form-group w-100">
<input type="text" class="form-control w-100" placeholder="What needs to be done? " v-model="todo">
</div>
</form>
我该怎么做才能做到完美。对于初学者来说,更标准的做法是在Axios promise回调中推动todo。这样,还可以在对象中包含从后端创建的ID
问题是什么还不完全清楚,如果问题是您得到了li但名称为空,那么问题是当您执行app.todoList.push(this.todo)
时,您正在打印“todo\u title”。你需要做的是用app.todoList.push({todo\u title:this.todo})
app.todoList.push({id:'',todo\u title:this.todo,todo\u status:0})键推送它。我如何从你的后端(then
部分)在承诺中给出正确的id,您可以通过然后(res=>res.data)
从后端访问响应,并提供您的后端返回创建的对象,例如{id:1,todo_title:'title',todo_status:0}
您将能够从该响应获取id.then(res=>{app.todoList.push(res.data)})
或者您可能只是从后端获取id,然后您必须执行更详细的操作:then(res=>{app.todoList.push({id:res.data.id,todo\u title:this.todo})
这一切都取决于您的后端
<form class="w-100" @submit="createTodo">
<div class="form-group w-100">
<input type="text" class="form-control w-100" placeholder="What needs to be done? " v-model="todo">
</div>
</form>
<ul>
<li v-for="todo in todoList">
{{ todo.todo_title }}
</li>
</ul>
createTodo(e) {
// Pushing dot only
app.todoList.push(this.todo)
let formData = new FormData();
formData.append('todo_title', this.todo)
axios({
method: 'POST',
url: 'api/todos.php',
data: formData
}).then(function(res){
}).catch(function(res){
console.log(res)
});
this.todo = null
e.preventDefault();
}