こんにちは。今ecサイトの金額表示部分を実装中です。ストライプAPIを使って決済機能を付けています。
そこで問題なのですが、
Ajaxを使い部分リロードを実装する際にhtml内の<script></script>の部分が読み込めません。実際には"baskets/checkout_left"へrenderと同時にストライプボタン部分もリロードするつもりですがうまくいきません。
ターミナルには特にエラーなし。
ストライプボタン部分以外はしっかりとリロードされております。(ボタンが見えない)
Ajaxなしでredirect_to 'url'の場合ボタンは表示され、<script></script>の部分も検証で読み込まれています。
どなたか解決方法が分かる方いらっしゃいますか?
"baskets/checkout_left" <%= render "baskets/stripe_checkout"%>の部分がAJAXを使った際読み込まれない。 <div class="checkout-left-basket animated wow slideInLeft" data-wow-delay=".5s" id="checkout-left-basket" > <h4>Continue to basket</h4> <% @items.zip(@user_items_quantity) do |item, uiq| %> <ul> <li> <%= item.name %> × <i> ( <%= uiq %> ) </i> <span >$ <%= item.price * uiq %> </span> </li> </ul> <% end %> <ul> <li class="basket-total">Total<i>-</i> (<%= @user_items_quantity.sum %>) <span class="text-danger"><%= "CAD $#{@total_price}" %></span> </li> </ul> <div id="stripe"> <%= render "baskets/stripe_checkout"%> </div> </div>
///
"baskets/stripe_checkout" <div class="stripe pull-right mt-5"> <%= form_tag charge_path do %> <% @items.zip(@user_items_quantity) do |i, uiq| %> <%= hidden_field_tag 'item_ids[]', i.id %> <%= hidden_field_tag 'item_quantities[]', uiq %> <% end %> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="<%= ENV['STRIPE_API_KEY']%>" date-description="payment" data-amount="<%= @total_price * 100 %>" data-locale="auto" data-currency="cad" > $.ajax({ type: 'POST', url: 'https://api.stripe.com/v1/charges', class: "stripe-button", data: { key: "<%= ENV['STRIPE_API_KEY']%>" , amount: 3000, description: "payment", amount:"<%= @total_price * 100 %>", locale: "auto", currency: "cad" }, }); </script> <% end %> </div>
///
create.js.erb $("#user_checkout_left").html("<%= escape_javascript(render('baskets/checkout_left')) %>"); コード
あなたの回答
tips
プレビュー