jQuery - formularz wznowienia przesłać po wywołaniu ajax
Czy możliwe jest zatrzymanie przesyłania formularza, a następnie ponowne przesłanie tego samego formularza z powodzenia wywołania ajax?
W tej chwili dochodzi do bitu sukcesu, ale nie przesyła ponownie formularza, który powinien przesłać i przekierować użytkownika dohttp://example.com stronie internetowej.
Bardzo dziękuję za pomoc z góry
Jeśli nie można tego zrobić w ten sposób, czy istnieje inny sposób, aby go uruchomić?
$(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');
}
});
});
});
Edytować:
Posty Stackoverflow sprawdzone pod poniższym kodem:
Wznów przesłanie formularza po wywołaniu $ .ajaxJak ponownie włączyć event.preventDefault?Pomyślałem, że wspomnę, że wypróbowałem ten kod bezskutecznie.
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;
}
});
});
});
Wypróbowałem również ten kod bez żadnego szczęścia.
$(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;
}
});
});
});