Stripe payments 未捕获类型错误:无法读取属性';邮政';未定义VueJS的定义
在Laravel 5.4中,我试图用Stripe付款。我正在关注laracast上的视频如果您有帐户,可以在此处观看视频: 我对其进行了修改以满足我的需要,但他所做的某些事情与vue的0.3版不兼容,除了这个问题之外,我能够修复该版本 我有以下代码:Stripe payments 未捕获类型错误:无法读取属性';邮政';未定义VueJS的定义,stripe-payments,vuejs2,laravel-5.4,Stripe Payments,Vuejs2,Laravel 5.4,在Laravel 5.4中,我试图用Stripe付款。我正在关注laracast上的视频如果您有帐户,可以在此处观看视频: 我对其进行了修改以满足我的需要,但他所做的某些事情与vue的0.3版不兼容,除了这个问题之外,我能够修复该版本 我有以下代码: data: function data() { return { stripeEmail: '', stripeToken: '' }; }, created: function created() { this
data: function data() {
return {
stripeEmail: '',
stripeToken: ''
};
},
created: function created() {
this.stripe = StripeCheckout.configure({
key: "my_key",
image: "https://stripe.com/img/documentation/checkout/marketplace.png",
locale: "auto",
token: (token) => {
this.stripeToken = token.id;
this.stripeEmail = token.email;
this.$http.post('/payment', this.$data).then(response => alert('Message'));
}
});
},
methods: {
buy: function buy() {
this.stripe.open({
name: "One Month Subscription",
description: "Having your business displayed for one month.",
zipcode: true,
amount: 1000
});
}
}
我可以输入信息,但一旦我点击“提交”,它就会返回错误:
Uncaught TypeError: Cannot read property 'post' of undefined
我在bootstrap.js中安装了vue资源,如下所示:
window.Vue = require('vue');
require('vue-resource');
这解决了$http问题,但现在我遇到了post问题
如果您需要任何其他信息,请告诉我。我认为
此
可能有问题。具体而言,创建的中的此可能与标记中的此不同。尝试这:
created: function created() {
var self = this;
self.stripe = StripeCheckout.configure({
key: "my_key",
image: "https://stripe.com/img/documentation/checkout/marketplace.png",
locale: "auto",
token: (token) => {
self.stripeToken = token.id;
self.stripeEmail = token.email;
self.$http.post('/payment', self.$data).then(response => alert('Message'));
}
});
},
我知道您使用的是arrow函数,所以情况不应该是这样,但我还是要尝试一下,看看效果如何。您是否添加了一些调试console.log()
语句来找出原因?self.$http
的值是多少?这是您必须逐步调试的内容;不幸的是,这里不太可能有一个明确的答案。