2016-05-11 5 views
0

Ich brauche einen Braintree-Token mit Ajax, aber es wird nicht ausgelöst. Normalerweise würde ich das Token in der neuen Aktion generieren, aber mein Bestellformular ist ein Teil in einer Listing-Show-Seite und somit habe ich nur eine create action. Der Token wird benötigt, damit der Braintree Dropin funktioniert. also dachte ich, meine einzige andere Option wäre, einen Ajax-Anruf an die Kasse anzuhängen, aber es wird nicht ausgelöst. Wäre dankbar Hilfe auf, warum das Ajax nicht funktioniert oder sogar eine bessere Methode des TokenRails jquery ajax call nicht feuern

routes.rb bekommen

get '/token' => 'orders#token' 

Da ist in meinem Controller

class OrdersController < ApplicationController  

def token 
    @token = Braintree::ClientToken::generate() 
    render json: @token 
end 

in meinem 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>  

Antwort

1

Die ID Ihrer Schaltfläche ist btn-book, also sollten Sieverwenden, nicht .

+0

Danke für den Fang! Ich habe es hundertmal durchgespielt, aber immer wieder vermisst. Ich bekomme jetzt erfolgreich eine Fehlermeldung, lol. Wenn ich nur herausfinden könnte, warum der Token im Ajax-Call nicht gesendet wird. – Wil