我的 Laravel + Vue 应用程序有一个奇怪的行为。在 Checkout 页面上,有一个处理付款方式选择的组件,3 个单选按钮,paymentMethod 上的 v-model 处于发票初始值状态。
data() {
return {
paymentMethod: 'invoice'
}
},
当用户更改付款方式时 setSelectedPaymentMethod 函数触发,此方法有一个简单的 axios 请求,将所选值发送到控制器,以保存会话中选择的 paymentMethod(供以后在总计算中使用)。
setSelectedPaymentMethod() {
return axios
.post('/payments/set-selected-method', {
selectedMethod: this.selectedPaymentMethod
})
.then(() => {
EventBus.$emit('payment-method-change');
});
},
一切正常,付款方式保存在会话中,唯一的问题是有时付款方式已保存,但 0.5 秒后又恢复到之前的值...例如,选择卡 - >单击在贝宝上,在 laravel 调试栏上,我可以看到会话值按以下顺序变化:贝宝并返回卡,而无需再次单击卡选项。我不明白为什么会话变量会在不单击任何付款选项的情况下恢复到以前的值,就像 axios 请求使用旧值再次触发但它确实如此,请求每次只进行一次。