Rails jquery ajax调用未启动

Rails jquery ajax call not firing

本文关键字:启动 调用 ajax jquery Rails      更新时间:2023-09-26

我需要使用ajax获得一个braintree令牌,但它没有启动。通常我会在新的操作中生成令牌,但我的订单表单是列表显示页面中的一部分,因此我只有一个创建操作。该令牌是大脑树插件工作所必需的。所以我想我唯一的其他选择是在结账按钮上附加一个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>    

按钮的id是btn-book,所以应该使用$("#btn-book"),而不是$("#btn_book")