当前位置: 首页 > 面试题库 >

如何修改Stripe Checkout来发送AJAX请求?

吕和风
2023-03-14
问题内容

我正在使用Stripe和Checkout创建付款表单,并且希望能够使用Checkout的超赞JavaScript库,但是我还想将表单提交从普通POST更改为AJAX
POST。

因此,我尝试将处理程序添加到您应该具有的form元素中,但是从未触发我的控制台行,因此它没有使用给定的表单提交。

然后,我尝试查看触发叠加层时显示的代码。这有点令人困惑,我只是想知道其他人是否能够解决这个问题,或者是否因为安全问题而变得困难?

// Stripe plugin
<form id="payment_form" method='post' action="{{url_for('process_payment')}}">
        <script
            src="https://checkout.stripe.com/checkout.js" class="stripe-button"
            data-key="test key">
        </script>
</form>

// Form submit handler
$(document).ready(function(){
    $("#payment_form").submit(function(e) {
        console.log("Processing...");
        ajax_payment();
        return false;
    });

});

问题答案:

条带触发表单的submit()功能。您可以为其设置事件处理程序(而不是侦听器!),以防止发送正常的POST请求

使用普通javascript的示例

var form = document.getElementById('myStripeForm');
form.submit = function() {
    // ... get form data here and send it through ajax

    // Prevent form submit.
    return false;
}

使用jQuery的示例:

$('#myStripeForm').get(0).submit = function() {
    var data = $(this).serializeArray();
    // process data and send ajax request

    $.ajax(...);

    // Prevent form submit.
    return false;
}


 类似资料:
  • 交互过程中,发送请求是第一步。那么,我们将如何构造一个请求呢? 这一章节,我们将一步一步来构建一个 Ajax 请求。学习本节,你将学会: 如何通过 XMLHttpRequest 和 ActiveXObject 来构造一个通用的 xhr 对象。 如何通过 xhr 对象来发送 GET、 POST 等请求。 Content-type 在 Ajax 数据发送中的作用。 那么,接下来让我们进入本节的学习吧。

  • 我使用下面的代码来创建一个条目在strapi服务器,但不幸的是,我得到了"坏请求"错误。我想不出来。请指导我如何解决这个问题。 ApiSet。班 主要活动。班 我的身体。班 还有我的模型课 数据班 属性。班 最后,我得到了如下回应: 我只是想知道我在哪里犯了错误

  • 我有一个javaScript代码,其中我发送了带有一些参数的http post。Post参数是一个类似于以下内容的json: 在JavaScript中,我只是打开request、设置头和发送参数。Post请求如下所示: 现在我需要在Java中进行相同的调用(由于一些内部POC需求)。为此,我做了以下几点: 但这给了我错误。 提前道谢。

  • 有没有人知道如何发送,如果修改后,因为标题与网址请求? 我正在尝试获取状态代码,它会告诉我RSS页面是否已更新。 更新#1:我能够进行以下测试: 但奇怪的是,如果我删除整个iOS应用程序并运行它,我会得到304状态代码。但是,如果我注释掉添加if Modified Since值的行并重新运行它,那么我得到的是200,但是当我取消注释该行并重新执行它时,304错误不会返回……它是一个200错误代码。

  • 问题内容: 我有多个Ajax请求每分钟都有一些请求数据,而其他请求是由用户通过ui发起的。 该请求可能由于身份验证失败而失败。我设置了一个全局方法来捕获任何失败的请求。 发现错误后,我将重置授权。重置授权是可行的,但是用户必须手动重新启动ajax调用(通过ui)。 如何使用最初发送的jqxhr重新发送失败的请求? (我将jQuery用于Ajax) 问题答案: 发现此帖子表明可以很好地解决此问题。

  • 我试图在ajax调用中发布json请求,但我没有收到来自请求的任何成功响应。 请找到我下面的代码:我在这里做错了什么: 它击中了网址,我得到200确定状态,但它总是出错条件... 有人能帮忙吗,我需要改变什么工作: 我尝试了data:JSON. stringify({key:"value", key1:"value e1"})-但这也没有帮助