Derzeit arbeite ich an einer Ruby on Rails App, und ich versuche, die unten JS mit der App arbeiten zu bekommen. Das erste Problem, auf das ich stieß, war, dass turbolinks 5.0 verhinderte, dass die Seite beim ersten Laden die JS geladen wurde, und dass ich die Seite aktualisieren musste, um die folgende JS zu laden. Ich habe etwas gegoogelt und bin auf this stackoverflow answer gestoßen, aber ich kann nicht scheinen, das JS richtig zu laufen zu lassen, ohne einen Fehler zu werfen. Jede und jede Hilfe würde sehr geschätzt werden.Javascript TypeError: Variable ist undefined
orders.js
console.log('inside orders.js');
$(document).on('turbolinks:load', function() {
// Your JS here
var payment;
jQuery(function() {
Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'));
return payment.setupForm();
});
payment = {
setupForm: function() {
return $('#new_order').submit(function() {
$('input[type=submit]').attr('disabled', true);
Stripe.card.createToken($('#new_order'), payment.handleStripeResponse);
return false;
});
},
handleStripeResponse: function(status, response) {
if (status === 200) {
// return alert(response.id);
$('#new_order').append($('<input type="hidden" name="stripeToken" />').val(response.id));
return $('#new_order')[0].submit();
} else {
// return alert(response.error.message);
return $('#stripe_error').text(response.error.message).show();
}
}
};
});
' " ohne einen Fehler zu werfen"' - Welche Fehler? Welche Zeile wirft den Fehler auf? Was sind die Laufzeitwerte, wenn das passiert? – David
Jquery (Funktion() {return "sth"}); ist Unsinn –
Ohne eine Menge von Details würde ich sagen, es ist, weil Sie jQuery bereit mit '$' tun und dann erneut überprüfen, wenn jQuery mit 'jQuery' bereit ist, im Grunde bereit zweimal mit zwei verschiedenen Werten' $ 'vs' aufrufen jQuery' –