jQuery - Formular nach Ajax-Aufruf weiterleiten
Ist es möglich, die Übermittlung eines Formulars zu unterbinden und das Formular innerhalb des Erfolgs eines Ajax-Aufrufs erneut zu übermitteln?
Im Moment erreicht es das Erfolgs-Bit, aber es wird das Formular nicht erneut gesendet, das gesendet und der Benutzer an das weitergeleitet werden sollhttp://example.com Webseite.
Vielen Dank für jede Hilfe im Voraus
Wenn es nicht möglich ist, es auf diese Weise zu tun, gibt es eine andere Möglichkeit, es zum Laufen zu bringen?
$(document).ready(function() {
$('form').submit(function(e) {
e.preventDefault();
$.ajax({
url: $('form').attr('action'),
type: 'post',
data: $('form').serialize(),
success: function(data) {
if (data == 'true')
{
$('form').attr('action', 'http://example.com');
$('form').unbind('submit').submit(); // mistake: changed $(this) to $('form') - Problem still persists though it does not resubmit and redirect to http://example.com
}
else
{
alert('Your username/password are incorrect');
}
},
error: function() {
alert('There has been an error, please alert us immediately');
}
});
});
});
Bearbeiten:
Stackoverflow-Posts wurden für den folgenden Code ausgecheckt:
Setzen Sie die Übermittlung des Formulars nach dem Aufruf von $ .ajax fortWie kann event.preventDefault wieder aktiviert werden?Ich dachte nur, ich würde erwähnen, dass ich diesen Code auch ohne Erfolg ausprobiert habe.
var ajaxSent = false;
$(document).ready(function() {
$('form').submit(function(e) {
if ( !ajaxSent)
e.preventDefault();
$.ajax({
url: $('form').attr('action'),
type: 'post',
data: $('form').serialize(),
success: function(data) {
if (data == 'true')
{
alert('submit form');
ajaxSent = true;
$('form').attr('action', 'http://example.com');
$('form').submit();
return true;
}
else
{
alert('Your username/password are incorrect');
return false;
}
},
error: function() {
alert('There has been an error, please alert us immediately');
return false;
}
});
});
});
Ich habe diesen Code auch ohne Glück ausprobiert.
$(document).ready(function() {
$('form').submit(function(e) {
e.preventDefault();
$.ajax({
url: $('form').attr('action'),
type: 'post',
data: $('form').serialize(),
success: function(data) {
if (data == 'true')
{
$('form').attr('action', 'http://example.com');
$('form').unbind('submit').submit();
return true;
}
else
{
alert('Your username/password are incorrect');
return false;
}
},
error: function() {
alert('There has been an error, please alert us immediately');
return false;
}
});
});
});