Для перехода между страницами использую ajax плагин "smoothState". На всех страницах сайта есть форма, данные из этой формы отправляю ajax. Проблема в том, что при переходе между страницами и повторной отправкой данных формы, письма отправляются столько, сколько было переходов. Кто нибудь сталкивался с этим или может подсказать в чем проблема?
$(function() {
$win = $(window);
$doc = $(document);
$aniBody = $('html, body');
$body = $('body');
smState = $('#smoothState').smoothState({
prefetch: true,
pageCacheSize: 5,
onStart: {
duration: 400,
render: function(url, container) {
container.removeClass('scaleUp').addClass('scaleDown');
setTimeout(function() {
container.addClass('loading');
}, 200);
$aniBody.animate({
scrollTop: 0
});
}
},
onEnd: {
duration: 400,
render: function(url, container, content) {
var bodyClass = window.location.pathname.split('/')[1];
if (bodyClass == '') {
bodyClass = 'index'
}
$body.attr('class', bodyClass);
container.html(content).removeClass('scaleDown loading').addClass('scaleUp');
setTimeout(function() {
container.removeClass('scaleUp')
}, this.duration);
}
},
callback: function(url, container, content) {
$doc.trigger('content:update')
}
}).data('smoothState');
});
$doc.on('content:update', function() {
$("#ajaxform").submit(function() {
var form = $(this);
var data = form.serialize();
$.ajax({
type: 'POST',
url: 'mail.php',
dataType: 'json',
data: data,
beforeSend: function(data) {
$('[data-remodal-id=modal]').remodal().close();
},
success: function(data) {
if (data['error']) {
alert(data['error']);
} else {
alert("Отправлено");
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
return false;
});
});
$doc.trigger('content:update');