我需要使用ajax获取braintree令牌,但它不会被触发。通常我会在新操作中生成令牌,但我的订单表单在列表显示页面中是部分的,因此我只有一个创建操作。 braintree dropin工作需要令牌。所以我认为我唯一的另一个选择是将ajax调用附加到结帐按钮,但它不会触发。非常感谢ajax无法正常工作的原因,甚至是获得令牌的更好方法
的routes.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>
答案 0 :(得分:1)
您的按钮的ID为btn-book
,因此您应该使用$("#btn-book")
,而不是$("#btn_book")
。