首页 > 解决方案 > Vuejs:event_id 未定义

问题描述

嘿伙计们,我正在尝试制作一个网页,允许用户查看他们可以购买或已经购买的所有门票。但是,问题是当网页加载后,event_id 在控制台中显示为 undefined。我不确定这是为什么。

我正在使用 axios 从服务器获取事件详细信息,然后将其推送到网页上。

我已将代码放置在挂载函数中,以便在加载页面后立即看到所有内容。

下面是我正在使用的 JavaScript 代码。

    data(){
        return{
            allTickets: [],
            getTickets:{
                seeTickets:{
                    event_id: this.event_id
                }
            },
            findTickets: {},
        }
    },

    mounted: function(){
        console.log(this.accessToken)
        axios.get('https://api.ticketpass.co/tickets',{
            headers:{
                "Content-Type" : "application/json",
                "Accept" : "application/json"
            }
        })
        .then(response =>{
            console.log(response);
            console.log(response.data);
            console.log(response.status);
            if(response.status === 200){
                console.log(this.allTickets);
                console.log(response.data.length);
                console.log(response.data[i].event_id);
                for(let i = 0; i < response.data.length; i++){
                    this.allTickets.push({
                        "some_id" : response.data[i].id,
                        "event_id" : response.data[i].event_id,
                        "created" : response.data[i].created,
                        "code" : response.data[i].code,
                        "user_id" : response.data[i].user_id
                    })

                    this.getTickets.seeTickets = {
                        "event_id" : response.data[i].event_id
                    }

                    console.log(!(response.data[i].event_id in this.findTickets));
                    if(!(response.data[i].event_id in this.findTickets)){
                        console.log("Not in Object", response.data[i].event_id, this.findTickets)

                            axios.get('https://api.ticketpass.co/event/' + response.data[i].event_id,{
                                headers:{
                                    "Content-Type" : "application/json",
                                    "Accept" : "application/json",
                                    "Authorization" : this.accessToken
                                }
                            })
                            console.log("Data Added")
                            this.findTickets[response.data.id] = response.data;
                        }

                    else{
                        console.log("IN Object")
                    }
                }
            }
        })

        .catch(error =>{
            console.log(error.response)
        })
    }
}

如果有人可以帮助我,将不胜感激。

非常感谢。

标签: javascriptvisual-studiovue.jsundefinedaxios

解决方案


推荐阅读