Database 如何使用axios从数据库获取数据
我有个问题 我有我想要的项目列表当我点击一个项目时,他会带我到另一个页面(组件)这是组件项目详细信息当我可以在其中找到该项目的详细信息时,我有以下代码块: 这是将我带到其他组件的路线:Database 如何使用axios从数据库获取数据,database,laravel,vue.js,controller,Database,Laravel,Vue.js,Controller,我有个问题 我有我想要的项目列表当我点击一个项目时,他会带我到另一个页面(组件)这是组件项目详细信息当我可以在其中找到该项目的详细信息时,我有以下代码块: 这是将我带到其他组件的路线: {path: '/detail/:id', name: detail , component: detail }, 我想从DB w获取url详细信息中id为的项目,但什么也没有发生这是ProjectDetail.vue: export default { data(){ return{
{path: '/detail/:id', name: detail , component: detail },
我想从DB w获取url详细信息中id为的项目,但什么也没有发生这是ProjectDetail.vue:
export default {
data(){
return{
id: this.$route.params.id,
projets:[],
projet:{
id:'',
name:'',
durre:'',
description:'',
budget:'',
owner:'',
}
}
},
methods:{
afficherProjets(){
axios.get('api/getProjects/'+this.id)
.then(data => {
this.projets = data.data;
});
}
},
mounted() {
console.log('Component mounted.')
this.afficherProjets();
}
}
这是我的控制器:
public function getProjects($id)
{
return Projet::findOrFail($id);
}
在你的vue里
export default {
data(){
return{
id: this.$route.params.id,
projet:{}
}
},
methods:{
//GETID
afficherProjet(){
axios.get('api/getProject/'+this.id)
.then(data => {
this.projet = data.data;
});
}
},
mounted() {
console.log('Component mounted.')
this.afficherProjet();
}
routes api.php中的文件
//ALL
Route::get('getProjects', ['uses' =>'API\ProjetController@getProjects']);
//SPECIFIQ ID
Route::get('getProject/{id}', ['uses' =>'API\ProjetController@getProject']);
在控制器中,使用app/Http/API/ProjetController
public function getProjects()
{
return Projet::latest()->paginate(15);
}
public function getProject($id)
{
return Projet::findOrFail($id);
}
你的模型飞机
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Projet extends Model
{
public $timestamps = false;
protected $table = 'projets';
protected $fillable = [
'name',
'durre',
'description',
'budget',
'owner'
];
}
您是否在浏览器开发工具中检查了控制台中的任何JavaScript错误或从API返回的HTTP响应中的任何错误?没有错误,他显示项目:开发工具中未定义您应该将{data}
替换为响应
并记录它。我的猜测是,您应该使用this.project=data
。注释不用于扩展讨论;这段对话已经结束。