- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 stripe checkout api 与 Rails 应用程序一起使用。我想在用户提交表单时重定向到结帐页面。我遇到的问题是 Stripe 结帐需要单击一个按钮,这将触发一个 javascript 函数,该函数获取 session ID 并重定向到结帐页面。
我的问题是,当用户提交表单时,我想使用他们提交的电子邮件来创建结账 session 并将他们的 stripe 客户帐户链接到他们的结账。所以在表单提交上我能够很好地创建 session ,我只是无法在创建 session 后触发前端 javascript 函数。
我尝试直接从 Rails Controller 调用一个 javascript 函数并将 session ID 传递给它,我无法让它工作,但感觉它可能接近解决方案。一旦 Controller 创建了 session ,我具体如何触发 javascript 函数
这是我想在我的 Controller 中调用的 Javascript 函数
function go_to_stripe(sessionId) {
var stripe = Stripe("<%=ENV["STRIPE_PUB_KEY"]%>");
stripe.redirectToCheckout({
sessionId: sessionId
}).then(function (result) {
console.log("hitting the then with result of ", result);
});
}
我已经在 Controller 中尝试过这个(以及它的一些变体)但它没有调用 javascript 函数。
# this returns the session id
@stripe_session_id = create_stripe_session(@cart)
respond_to do |format|
format.html
format.js { render :js => "go_to_stripe("+@stripe_session_id+");" }
end
最佳答案
找到了基于 https://signalvnoise.com/posts/3697-server-generated-javascript-responses 的修复程序
关键在于在表单上设置 remote: true 以及将 javascript 文件命名为与 Controller 操作相同的名称。更改文件中的 javascript 以包含函数的主体。
JavaScript
var stripe = Stripe("<%=ENV["STRIPE_PUB_KEY"]%>");
stripe.redirectToCheckout({
sessionId: "<%= @stripe_session_id %>"
}).then(function (result) {
console.log("hitting the then with result of ", result);
});
rails Controller
@stripe_session_id = create_stripe_session(@cart)
respond_to do |format|
format.html
format.js
end
关于javascript - 如何从 Rails Controller 调用 Stripe Checkout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897089/
当我这样做时 git checkout origin/bugfix/NTP-183-datefns git 显示 Note: checking out 'origin/bugfix/NTP-183-d
我刚收到一封来自 Google 的电子邮件,通知我他们将关闭 Google Checkout,我应该改用 Google 电子钱包。这让我感到困惑,因为我在 6 个月前开始使用 Google 数字商品购
SVN 仓库看起来像这样: 最佳/ 最佳 顶部/两个 前/三 ...等等 您不想结帐整个 顶部 文件夹,但您不知道 SVN's sparse checkout feature . 所以你 checko
在稀疏 checkout 场景中,命令 git checkout . 恢复应该忽略的目录。这是设计使然,还是 Git 中的潜在问题?我正在使用 git checkout . 放弃我对我的工作副本所做的
新手问题,我想确保我理解这一点。 当我 git checkout ,这会将整个项目返回到当时的状态,还是仅重新创建在该特定修订版中更改的文件? 例如:如果我的文件夹除了 .git 存储库之外完全是空
我正在使用 Stripe 支付与我的系统集成。但是我不明白这两个库之间的区别。 似乎使用 javascript 生成表单并将 token 传递到我们的服务器端。 这是与 .net 核心一起使用
我正在使用 GitHub Actions 和安装在 Windows 2019 服务器上的自托管代理设置 CI/CD 管道。 我面临的问题是操作 actions/checkout@v2 无法 check
有时是 git checkout命令给出进度反馈: $ git checkout develop Checking out files: 100% (10779/10779), done. Switc
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我有一个我喜欢的 checkout 后 Hook - 大多数时候 - 但有时我知道运行它会浪费时间,或者,因为它会删除并重建我的开发数据库,所以我不'希望它做它的事情。 是否有跳过钩子(Hook)
这个问题在这里已经有了答案: Why do we use double dash in "git checkout -- ."? [duplicate] (1 个回答) 关闭 5 年前。 我总是使用
我尝试 checkin 有关我的开发的 excel 文档。但是我的构建失败了,因为它的文件被我锁定了。但问题是;当我选择解锁文档时,出现以下错误。 > The item $/../../Device
通过 XML API,如何将 Google Checkout 回调序列号与原始订单相关联? 在同一行 - XML API doc 的“选项 B - 提交服务器到服务器结帐 API 请求”部分中的序列号
我想确保没有其他人正在检查源代码,以便我可以制作发布的安装程序。所以,我想看看 1) #1正在 check out 特定文件的用户列表和 2) #2所有 checkout 文件的列表;但我不知道该怎么
我正在使用 Google Checkout 制作购物车。我已经像下面这样集成了 Paypal: " /
tl;dr JGit 的 checkout 抛出异常,而命令行 git checkout 工作正常 我目前正在尝试使用 JGit 从在线 Git 存储库中检查某些修订版,使用 Java(用于工作)。我
在使用“git checkout”时,我对这两个选项感到有点困惑 我总是使用 git checkout -- . 来清除我的工作目录。 但今天当我错误地输入 git checkout - . 时。我没
最近我使用了 Google Checkout a.k.a Google Wallet。我的任务是让它作为付款方式步骤中的选项单页结账。 我的 Mangento 版本是 CE 1.6.2.0 默认情况下
最近我使用了 Google Checkout a.k.a Google Wallet。我的任务是让它作为付款方式步骤中的选项单页结账。 我的 Mangento 版本是 CE 1.6.2.0 默认情况下
git checkout - check out 先前 check out 的提交引用。这些信息存储在哪里,是否有类似的方法来访问任何第 n 个以前 checkout 的提交? 我希望能够查看我已 c
我是一名优秀的程序员,十分优秀!