【问题标题】:created(){axios.get method is not working when trying to display content from DBcreated(){axios.get 方法在尝试显示数据库中的内容时不起作用
【发布时间】:2024-04-27 04:40:02
【问题描述】:

**我的 rout 文件,当我直接在 URL 中输入帖子时,它会显示帖子,但在 app.js 中使用创建的方法时,它什么也不显示**

Route::get('/posts', function () {
$posts_json = DB::table('posts')
->orderBy('posts.created_at','desc')->take(4)->get();return $posts_json;}

我的 app.js 文件

   const app = new Vue({
    el: '#app',
    data: {
    msg: 'make post',
    content:'',
    posts: [],
    bUrl: 'http://localhost/pathikhome',
    },
    ready: function(){
    this.created();
    },
    created(){
    axios.get(this.bUrl +'/posts')
    .then(response => {
    console.log(response); 
    this.posts = response.data;
    })
    .catch(function (error) {
    console.log(error);
    });   
    },

    methods: {
    addPost(){
    axios.post(this.bUrl +'/addPost', {
    content:this.content
    })

如果不成功

    .then(function (response) {
    console.log(response);
    })
    .catch(function (error) {
    console.log(error);
    });
    }
    }});

【问题讨论】:

标签: laravel vue.js vue-component


【解决方案1】:

ready 不再受支持。那是Vue v1。你的新方法是mounted。见https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagramhttps://vuejs.org/v2/guide/migration.html#ready-replaced

另外 data 是一个返回数据对象的函数,所以 if 应该是这样的:

data: function() {
   return {
      msg: 'make post',
      content: '',
      posts: []
  }
}

【讨论】:

    【解决方案2】:

    在你的 axios 的 url 中删除 this.bUrl

    created(){
        axios.get('/posts')
        .then(response => {
    

    编辑: 尝试删除ready函数:

    ready: function(){
       this.created();
    },
    

    你的data() 里面应该有一个return

    data() {
        return{
            msg: 'make post',
            content:'',
            posts: [],
            bUrl: 'http://localhost/pathikhome',
        }
    },
    

    【讨论】:

    • 它什么也没有显示,甚至警报在那里不起作用。我不知道创建工作与否
    • 当我在我的 url 中输入 /post 时它工作正常,但是当我尝试对 created 做同样的事情时,页面上什么也没有显示
    • 如果您在created() 中添加了alert,没有任何反应?那么你的 vue 不工作了。
    • 查看更新的代码,但是当我添加新帖子时它正在工作
    • 可能是你的 vue 出错了,因为即使 alertcreated() 中也不起作用。
    最近更新 更多