vuejs-提交axios表单后显示警报并重定向

时间:2019-03-30 08:52:00

标签: javascript vue.js axios

我有一个可以正常工作并插入数据的表格,但是如果用户按10次提交按钮,它将插入数据10次,因此我想将用户重定向到另一页并向他显示成功消息或错误。在这里我正在使用axios,如下所示,我添加了then resoponse和catch错误,但未显示,我认为我必须在html中显示一些方法:

reserve() {
            // this.form.post('../api/comment')
            axios.post('../api/reserve',{
                property_id:1,
                reserve_start:this.date,
                reserve_end:this.date2,
            }).then(response => {
                self.message = 'Data is entered'
            })
                .catch(error => {
                    self.message = 'Error'
                })

这是我的表单标记:

 <form @submit.prevent="reserve()"  id="myForm"  class="m-form m-form--fit m-form--label-align-right m-form--group-seperator-dashed">

1 个答案:

答案 0 :(得分:1)

在axios调用之后,直接重定向到方法很简单。

类似这样的东西:

reserve() {
// this.form.post('../api/comment')
  axios.post('../api/reserve',{
    property_id:1,
    reserve_start:this.date,
    reserve_end:this.date2,
  }).then(response => {
    this.$router.push('/routeToGoTo')      
  })
}
.catch(error => {
  self.message = 'Error'
})

您可以在router.push之前放置警报,这将停止所有操作,直到被拒绝为止。因此,警报将显示,用户单击确定,页面重定向。

alert("Something was done.")