Я запускаю электронную почту в указанное c время, используя ajax звонок. Запуск электронной почты в указанное время c работает нормально. Однако вызов ajax запускает его несколько раз в зависимости от количества браузеров, открытых с одним и тем же URL-адресом. Мне нужно только один раз вызвать ajax. Вот код:
$(document).ready(function() {
$.ajax({
url: "<?php echo site_url('getclientlist')?>/",
type: "GET",
dataType: "JSON",
success: function(data) {
$.each(data, function(index, value) {
var clientudo = value.Description;
var departudo = value.Depart;
var emailtime = value.Email_Sent;
var hours, mins;
function autoudoemail() {
console.log('trigger');
$.ajax({
url: "<?php echo base_url(); ?>autoudoemail",
type: "POST",
data: { Client_Name: clientudo, Depart: departudo },
dataType: "JSON",
success: function(response) {
console.log(response);
}
});
clearTimeout(timer);
}
if (emailtime) {
var et1 = emailtime.split(':');
hours = et1[0];
mins = et1[1];
//get your offset to wait value
var timetarget = forceMidnightPageReloadGetTargetTime(hours, mins).getTime();
var timenow = new Date().getTime();
var offsetmilliseconds = timetarget - timenow;
//if it isn't midnight yet, set a timeout.
if (offsetmilliseconds >= hours++) {
var timer = setTimeout(function() { autoudoemail() }, offsetmilliseconds);
}
}
});
},
error: function(jqXHR, textStatus, errorThrown) {
swal("Oops", "We couldn't connect to the server!", "error");
}
});
});
Пожалуйста, сообщите Спасибо