Vue.js和带有delete方法的laravel问题
您好,我是网站开发者中的新手,我的项目(laravel、vue.js、mysql)中有一个问题,我创建了delete api,当我使用postman时它工作得很好,但在vue文件中使用axios.delete时它不工作? 顺便说一句,工作得很好。 对不起,这是英语Vue.js和带有delete方法的laravel问题,laravel,vue.js,web,axios,vue-component,Laravel,Vue.js,Web,Axios,Vue Component,您好,我是网站开发者中的新手,我的项目(laravel、vue.js、mysql)中有一个问题,我创建了delete api,当我使用postman时它工作得很好,但在vue文件中使用axios.delete时它不工作? 顺便说一句,工作得很好。 对不起,这是英语 <template> <div class="table"> <table> <tr> <th>Id</th> <th>M
<template>
<div class="table">
<table>
<tr>
<th>Id</th>
<th>Matricule</th>
<th>Nom</th>
<th>Prenom</th>
<th>Email</th>
<th>Annee</th>
<th>Action</th>
</tr>
<tr v-for="etud in EtudTable" :key="etud.id">
<td>{{etud.id}}</td>
<td>{{etud.matricule}}</td>
<td>{{etud.nom}}</td>
<td>{{etud.prenom}}</td>
<td>{{etud.email}}</td>
<td>{{etud.annee}}</td>
<td><button @click.prevent="Delete(etud.id)">Supprimé</button></td>
</tr>
</table>
</div>
</template>
<script>
export default {
data(){
return {
EtudTable : []
}
} ,
created:{
},
methods:{
Delete(id) {
axios.delete('api/Etudiant/${id}').then(function (response){
let index = this.EtudTable.findIndex(etud => etud.id === id);
this.EtudTable.splice(index, 1);
});
},
getVueItems: function getVueItems() {
var _this = this;
axios.get('api/Etudiant').then(function (response) {
_this.EtudTable = response.data;
});
},
....
}
}
</script>
EtudiantController.php:
<?php
namespace App\Http\Controllers;
use App\Etudiant;
use Illuminate\Http\Request;
class EtudiantController extends Controller
{
...
public function Delete($id){
$etudiant = Etudiant::find($id);
$etudiant->delete();
return response()->json('successfully deleted');
}
...
}
axios.delete(`api/Etudiant/${id}`)。然后(…)
使用backtick`
而不是'
那么您的webbrowser控制台中是否没有错误?如果您使用dd($id);在你的巅峰controller@GertjanBrouwer你在浏览器控制台上得到了什么响应?你能确认它是否真的在数据库中被删除了吗?也许这是前端的一个问题。rcbgalido是的,当我使用postman删除它时,它起作用了,所以我认为问题在前端,但我不知道我尝试了这个,它起作用了:axios.delete('api/Etudiant/'+id)。然后(…),但是有人能告诉我:'api/Etudiant/'+id'和'api/Etudiant/${id}'之间的区别吗?
<?php
namespace App\Http\Controllers;
use App\Etudiant;
use Illuminate\Http\Request;
class EtudiantController extends Controller
{
...
public function Delete($id){
$etudiant = Etudiant::find($id);
$etudiant->delete();
return response()->json('successfully deleted');
}
...
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Etudiant extends Model
{
protected $fillable = ['matricule', 'nom', 'prenom', 'email', 'annee'];
}