40 lines
742 B
JavaScript
40 lines
742 B
JavaScript
|
$(function(){
|
||
|
$(".ajax-form").submit(function(e){
|
||
|
e.preventDefault();
|
||
|
|
||
|
var submitting = 'submitting';
|
||
|
|
||
|
if ($(this).data(submitting)) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
$(this).data(submitting, 1);
|
||
|
|
||
|
var action = $(this).attr('action');
|
||
|
var method = $(this).attr('method');
|
||
|
var redirect = $(this).data('redirect');
|
||
|
var data = $(this).serialize();
|
||
|
|
||
|
var req = $.ajax({
|
||
|
type: method,
|
||
|
url: action,
|
||
|
data: data,
|
||
|
dataType: 'json'
|
||
|
});
|
||
|
|
||
|
req.done(function() {
|
||
|
if (redirect) {
|
||
|
location.href = redirect;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
req.fail(function(data, status, error) {
|
||
|
console.log(data);
|
||
|
});
|
||
|
|
||
|
req.always(function() {
|
||
|
$(this).removeData(submitting);
|
||
|
});
|
||
|
|
||
|
});
|
||
|
});
|