【问题标题】:Vue error for pagination: response is not definedVue分页错误:未定义响应
【发布时间】:2019-11-23 21:39:42
【问题描述】:

我不断收到这个 Vue 错误:“ReferenceError: response is not defined” 但是当我在控制台中检查时,数据就在那里。

我打算使用响应中的数据进行分页。提前致谢。

方法

getAllUserData(){
    let $this=this;
    axios.get('api/members/getAllMembersData').then(response=>this.members=response.data.data);
    $this.makePagination(response.meta,response.links);
},

makePagination(meta,links){
    let pagination={
    current_page:meta.current_page,
    last_page:meta.last_page,
    next_page_url:links.next,
    prev_page_url:links.prev
    }
    this.pagination = pagination;
}

【问题讨论】:

    标签: ajax laravel vue.js pagination axios


    【解决方案1】:

    axios.get() 是一个异步函数。在 ajax 请求完成后,该函数后面的代码将不会执行,但在此之前很久。因此,变量response 还不存在。

    所有需要在ajax调用完成时执行的代码都必须放在调用的.then()函数中。

    getAllUserData(){
        axios.get('api/members/getAllMembersData').then(response => {
            this.members = response.data.data;
            this.makePagination(response.data.meta, response.data.links);
        });
    },
    

    【讨论】:

    • 谢谢。现在我收到一个新错误 TypeError: Cannot read property 'current_page' of undefined
    • response 必须是 response.data,我更新了答案
    • 如果此答案对您有所帮助,请考虑将其标记为您的问题的答案,以便其他用户将来也能找到。
    【解决方案2】:

    您的响应仍在 axios get 方法中,因此也必须在 axios 方法中调用 makePagination 函数(在 .then() 中)

    getAllUserData(){
        let $this=this;
        axios.get('api/members/getAllMembersData').then(response=>
        this.members=response.data.data
        $this.makePagination(response.data.meta,response.data.links);
    },
    
    makePagination(meta,links){
        let pagination={
        current_page:meta.current_page,
        last_page:meta.last_page,
        next_page_url:links.next,
        prev_page_url:links.prev
        }
        this.pagination = pagination;
    }
    

    【讨论】:

    • 谢谢。现在我收到一个新错误 TypeError: Cannot read property 'current_page' of undefined
    • 获取响应数据的值。它应该是 $this.makePagination(response.data.meta, response.data.links)
    猜你喜欢
    • 2019-01-19
    • 2014-09-30
    • 2019-03-17
    • 2018-04-03
    • 1970-01-01
    • 2022-07-21
    • 2013-06-08
    • 2020-02-02
    • 1970-01-01
    相关资源
    最近更新 更多