Javascript 未捕获引用错误:未定义条带-条带错误

Javascript 未捕获引用错误:未定义条带-条带错误,javascript,ruby-on-rails,stripe-payments,Javascript,Ruby On Rails,Stripe Payments,我试图在rails应用程序中实现Stripe元素,但我似乎无法正确地包含Stripe.js。这是我的application.html <%= tag :meta, name: "stripe-key", content: Figaro.env.stripe_publishable_key %> <script type="text/javascript" src="https://js.stripe.com/v3/"</script> <script type

我试图在rails应用程序中实现Stripe元素,但我似乎无法正确地包含Stripe.js。这是我的application.html

<%= tag :meta, name: "stripe-key", content: Figaro.env.stripe_publishable_key %>
<script type="text/javascript" src="https://js.stripe.com/v3/"</script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>


我怀疑是Stripe.js在您自己的javascript之后加载。尝试将Stripe.js移动到标题中自己的javascript上方

可能会迟到,但如果其他人也有同样的问题,只需在您的

<HEAD></HEAD>
<script src="https://js.stripe.com/v2/"></script>


知道他们建议尽快迁移到v3。

Stripe.js现在在所有其他脚本之后加载,这意味着它不再立即可用。我已经将脚本从body标签移动到head标签

 <head>
   <script src="https://js.stripe.com/v3/"></script>
 </head>

您可以使用类似的方法

<%= javascript_include_tag 'https://js.stripe.com/v3/', 'data-turbolinks-track': 'reload' %>

让我大吃一惊的是,他们的文档中有教程,其中跳过了条带库的初始化。因此,如果您从这些教程中的一个开始,并尝试它们的示例代码,它就不会起作用

相反,您需要在脚本中的某个位置添加以下行:

var stripe = Stripe("your_stripe_publishable_key");

第一个
script
标记格式不正确。我也有类似的错误。我的是因为我在另一个函数中调用stripe。如果您从“var stripe”前面删除“var”,这意味着stripe现在是全局的,而不是本地的,这为我解决了这个问题。我也一直等到页面加载,直到执行任何操作。虽然这段代码可能提供了一个问题的解决方案,但最好添加上下文,说明它为什么/如何工作。这可以帮助未来的用户学习,并将这些知识应用到他们自己的代码中。在解释代码时,用户可能会以投票的形式向您提供正面反馈。
<%= javascript_include_tag 'https://js.stripe.com/v3/', 'data-turbolinks-track': 'reload' %>
var stripe = Stripe("your_stripe_publishable_key");