Nach dem Klicken auf Senden beforeSend:
funktioniert, aber es ruft nicht success:
auch gibt es keine Konsole Fehler. Die Daten werden auch korrekt an die Datenbank gesendet! Dann warum nicht die success:
anrufen. Bitte HilfeJQuery Formular reichen nicht anrufen Erfolg
$(function() {
//hang on event of form with id=ticketForm
$("#ticketForm").submit(function(e) {
//prevent Default functionality
e.preventDefault();
//get the action-url of the form
var actionurl = e.currentTarget.action;
var form = $('#ticketForm');
var submit = $('#submite');
$.ajax({
url: actionurl,
type: "POST",
data: $("#ticketForm").serialize(),
dataType: "json",
contentType: 'application/json; charset=utf-8',
cache: false,
beforeSend: function(e) {
submit.html("Booking....");
},
success: function(e) {
submit.html("Booking Completed !");
//get the message from booking.php and show it.
$(".alert").removeClass("hide");
var msg = $.ajax({
type: "GET",
url: actionurl,
async: false
}).responseText;
document.getElementById("success-message").innerHTML = msg;
setTimeout(function() { // wait for 3 secs(2)
location.reload(); // then reload the page.(3)
}, 3000);
},
error: function(e) {
console.log(e)
}
});
});
});
Konsolenmeldung
Object {readyState: 4, responseText: "<strong>Seat Booked Successfully</strong>", status: 200, statusText: "OK"}
Ihre Konsolennachricht stammt von 'error', die Antwort muss ein gültiger JSON sein. – skobaljic
Warum verwenden Sie den zweiten Ajax-Anruf? Welches Ergebnis kommen Sie für die erste zurück? tut "Buchung abgeschlossen!" angezeigt werden? –