2017-09-25 47 views
1

我試圖使用一個函數,在提交條帶表單時發送ajax請求。我試過使用.submit(),它似乎沒有做任何事情。這裏就是我想:通過AJAX條帶POST到燒瓶

HTML

<form action="/download_data" method="post" id="paymentForm"> 
        <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
         data-key="{{ stripe_key }}" 
         data-description="A Flask Charge" 
         data-amount="500" 
         data-locale="auto"> 
        </script> 
       </form> 

JS

$("#paymentForm").submit(function(event) { 
    window.alert("HELLO") 
    event.preventDefault(); 

    var $form = $(this), 
     url = $form.attr('action'); 

    var formdata = $form.serialize(); 
    console.log(formdata) 

    //AJAX will go here if I can get the function working 
}) 

而且我不認爲這個功能甚至獲取調用都讓我有點停止增加它直到我以某種方式解決這個問題。任何幫助將不勝感激。謝謝!

+0

即使不調用preventDefault()。該帖子直接進入後端。我打算給它添加一個ajax調用,但看到函數沒有被調用,我停下了。 –

+0

刪除後再試一次,仍然沒有。 –

+0

通過條紋checkout.js腳本生成表單內容。這基本上是我所做的減去javascript:https://stripe.com/docs/checkout/flask –

回答

0

您需要使用"custom integration"方法,以便您可以定義這就是所謂的結帳時創建令牌回調,然後你可以提交在AJAX請求令牌(或做任何你想要的):

var handler = StripeCheckout.configure({ 
    key: 'pk_...', 
    token: function(token) { 
    // Grab the token from `token.id` and send it in an AJAX request 
    } 
}); 

下面是一個基本示例:https://jsfiddle.net/ywain/ym0k4t9f/

+0

這就是我昨天做的事,所以我想我不妨選擇這個。 –