Есть сайт на Wordpress. Отправка через ajax. Почему-то не во всех браузерах "Сообщение отправлено". Кое-где "Сообщение не отправлено". Вернее, видимо, играет роль версия браузера, т.к. у меня во всех браузерах (Хром, Яндекс, Мозилла, Опера, Сафари) всё нормально. У клиента же не во всех отправляется. Знаю минимум про Яндекс.Браузер.
Вот коды:
<?php
$mail = 'dummy@yandex.ru';
if ( isset($_POST["name"]) && isset($_POST["tel"]) && isset($_POST["proc"]) && isset($_POST["date"]) ) {
if ( $_POST["name"]!='' && $_POST["tel"]!='' && $_POST["date"]!='' && $_POST["proc"]!='' ){
// Формируем массив для JSON ответа
$result = array(
'name' => $_POST["name"],
'tel' => $_POST["tel"],
'proc' => $_POST["proc"],
'date' => $_POST["date"]
);
// Переводим массив в JSON
echo json_encode($result);
}else{
alert('Заполните поля');
}
}
$headers = 'From: no-reply@dummy.ru' . "\r\n" .
'Reply-To: no-reply@dummy.ru' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$title = 'Запись на приём';
$message="
Имя: ".iconv( 'UTF-8','utf-8',$_POST['name'])."
Телефон: ".iconv( 'UTF-8','utf-8',$_POST['tel'])."
Процедура: ".iconv( 'UTF-8','utf-8',$_POST['proc'])."
Дата: ".iconv( 'UTF-8','utf-8',$_POST['date']);
mail($mail, $title, $message, $headers);
?>
JS:
$( document ).ready(function() {
$("#btn").click(
function(){
sendAjaxForm('result_form', 'ajax_form', 'action_ajax_form.php');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
$.ajax({
url: 'action_ajax_form.php', //url страницы (action_ajax_form.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: $("#"+ajax_form).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
$('#result_form').html('Имя: '+result.name+'<br>Телефон: '+result.tel+'<br>Процедура: '+result.proc+'<br>Дата: '+result.date);
swal({
type: 'success',
text: 'Сообщение отправлено',
});
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
swal({
type: 'error',
text: 'Сообщение не отправлено',
});
}
});
}
-------------------------------------
UPD:
Оказалось, что не отправляется только при переходе из Яндекса, т.к. добавляется https. С https в адресе не отправляет сообщения. Что делать?