我正在将条带加载到我的付款页面中,如下所示:
<script src="https://js.stripe.com/v3/"></script>
这在我的本地测试环境中完美运行,但在生产中,出现以下控制台错误:
Uncaught Error: It looks like Stripe.js was not loaded correctly
at new e (controller-84824401a25a5595fc578f767b4d5c27.js:1)
at controller-84824401a25a5595fc578f767b4d5c27.js:1
at Object.bnjt (controller-84824401a25a5595fc578f767b4d5c27.js:1)
at t (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
at Object.3 (controller-84824401a25a5595fc578f767b4d5c27.js:1)
at t (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
at window.webpackJsonp (shared-d3604a85e14ef273096e09821a0e4c2a.js:1)
at controller-84824401a25a5595fc578f767b4d5c27.js:1
我无法解决可能导致错误的原因。我在生产中使用HTTPS,可以看到JS文件源下载成功。有小费吗?
答案 0 :(得分:0)
解决了@NathanCasebolt的建议。 SO mods删除了他原来的答案:
“对我来说,这个错误的解决方法就像拼写检查一样简单 我的变数。在我的后端服务器代码中,我的一个变量是 错误地资本化。由于拼写错误的变量是其中的一部分 检索我的可发布密钥的函数,从中返回的密钥 server as null。反过来,这会中断Stripe对象的创建 并抛出此错误。如果我是你,我会检查以确保(1)那个 您前端的可发布密钥与可发布的密钥相匹配 你的仪表板,以及(2)你没有做任何可能的事情 中断向Stripe提供此密钥。“
StackOverflow mods觉得这没有回答问题 需要太多澄清。那么,澄清一下,问题对我而言 是这一行:
var stripe = Stripe('{PUBLISHABLE_KEY}');
我设置了从我的服务器检索我可发布的密钥到 让我在测试键和实时键之间切换时更加灵活。 由于我的一个服务器变量是错误的,我提供了Stripe 一个坏键(没有键,真的),这就是错误。这个 这就是为什么我建议你查看你用来创建的可发布密钥 Stripe对象,以确保您用于创建的对象 对象就在那里,它与你可发布的密钥相匹配 在条纹仪表板上。“
在我的情况下,这正是我做错了:在初始化Stripe时提供了一个空的可发布键。最终,一个非常简单的错误加剧了Stripe的钝错误消息。