non sono per niente abile in js e ho da poco incominciato a studiarlo.
sto lavorando ad un progetto di un ecommerce ma ora non riesco a gestire bene questa richiesta AJAX.
Dovrebbe essere molto semplice per chi è abile in js.
Qui il problema.
Lato server ho creato una funzione del tipo:
lato client invece ( ho scritto probabilmente nodi di codice che non so come risolvere):
Si.. quello che viene passato dal server come risposta è la chiave pubblica e l'id del checkout STRIPE (stripe è un gateway online di pagamento per chi non lo conoscesse) che è stato generato in backend..
è molto facile il problema.. sono io a non aver mai studiato js (rimedierò assolutamente) ma ora voglio solo concludere questo progetto.
Grazie mille in anticipo
sto lavorando ad un progetto di un ecommerce ma ora non riesco a gestire bene questa richiesta AJAX.
Dovrebbe essere molto semplice per chi è abile in js.
Qui il problema.
Lato server ho creato una funzione del tipo:
Codice:
def ajax_request(request):
...
... #python
...
return jsonresponse( {
'dato1':dato1,
'dato2':dato2
})
lato client invece ( ho scritto probabilmente nodi di codice che non so come risolvere):
Codice:
<script> //javascript
//il form invia nome e cognome della persona che sta concludendo l'ordine e lo salva nel db
$('#post_form').on('submit', function(event){
event.preventDefault();
console.log("form submitted!") // sanity check
create_post();
});
function create_post() {
console.log("create post is working!") // sanity check
$.ajax({
url : "{% url 'checkout_gen' %}", // endpoint
type : "POST",
data : { nome : $('#nome').val(),
cognome : $('#cognome').val(),
telefono : $('#telefono').val(),
csrfmiddlewaretoken: "{{ csrf_token }}",
dataType: "json",
},
success : function(json) {
// qui non so come gestire la risposta del server !!
//che funzioni si usano?
//il resto è scritto un po' accasaccio
prova_prosegui();
},
// handle a non-successful response
error : function(xhr,errmsg,err) {
console.log("error"); // another sanity check
}
});
};
function prova_prosegui () {
.then((result) => { return result.json() });
.then((data) => {
var stripe = Stripe(data.STRIPE_PUBLIC_KEY);
stripe.redirectToCheckout({
sessionId: data.session_id
}).then(function (result) {
// If `redirectToCheckout` fails due to a browser or network
// error, display the localized error message to your customer
// using `result.error.message`.
});
}
</script>
Si.. quello che viene passato dal server come risposta è la chiave pubblica e l'id del checkout STRIPE (stripe è un gateway online di pagamento per chi non lo conoscesse) che è stato generato in backend..
è molto facile il problema.. sono io a non aver mai studiato js (rimedierò assolutamente) ma ora voglio solo concludere questo progetto.
Grazie mille in anticipo
Ultima modifica: