我需要使用 ajax 获得一个 Braintree 令牌,但它没有触发。通常我会在新操作中生成令牌,但我的订单表单是列表显示页面的一部分,因此我只有一个创建操作。Braintree dropin 需要令牌才能工作。所以我认为我唯一的其他选择是将 ajax 调用附加到结帐按钮,但它不会触发。非常感谢有关为什么 ajax 无法正常工作的帮助,甚至是获取令牌的更好方法
路线.rb
get '/token' => 'orders#token'
然后在我的控制器中
class OrdersController < ApplicationController
def token
@token = Braintree::ClientToken::generate()
render json: @token
end
在我的 html
<a class="btn btn-large waves-effect cyan waves-light modal-trigger" style="width: 300px; margin-left: -65px;" id="btn-book" href="#modal1">Proceed to Checkout</a>
<script>
$('#btn_book').on('click', function(e){
e.preventDefault();
$.ajax({
type: 'GET',
url: '/token',
dataType: 'JSON',
success: function(data){
console.log(data);
},
error: function(data){
console.log('there was an error');
}
});
});
</script>