【问题标题】:Rails jquery ajax call not firingRails jquery ajax调用未触发
【发布时间】:2016-05-11 23:35:00
【问题描述】:

我需要使用 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>    

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax braintree-rails


    【解决方案1】:

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

    【讨论】:

    • 感谢您的收获!我已经经历了一百次,但一直想念它。我现在成功收到一条错误消息,大声笑。如果我能弄清楚为什么没有在 ajax 调用中发送令牌。
    猜你喜欢
    • 2012-07-17
    • 2011-09-30
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多