JQuery AJAX не срабатывает success, в чем проблема?

139
09 апреля 2021, 15:10

При клике отправляется объект на сервер, статус==200, но 'success' не срабатывает. Подскажите, в чём проблема

PHP Код :

<?php
$post = (!empty($_POST)) ? true : false;
if($post)
{
$error = '';
$param = json_decode($_POST['param']);
$tel = $param->phone;
$money = $param->allMoney;
$suzdKol = $param->numberSuzd;
$bollKol = $param->numberBoll;
$bassKol = $param->numberBass;
$kol = $param->number;

$name_tema = "=?utf-8?b?". base64_encode($name) ."?=";
$subject ="Новая заявка с сайта CraftBurgers.com";
$subject1 = "=?utf-8?b?". base64_encode($subject) ."?=";
$message1 = "\n\nТелефон: " .$tel."\n\nОбщая сумма: " .$money." руб.\n\nКоличество Басс Бургеров: " .$bassKol."\n\nКоличество Болл Бургеров: " .$bollKol."\n\nКоличество Суздаль Бургеров: " .$suzdKol."\n\nОбщее количество: " .$kol."\n\n";
$message = "\n\nТелефон: " .$phone."\n\nИмя: " .$name."\h\h";
$header = "Content-Type: text/plain; charset=utf-8\n";
$header .= "From: Новая заявка <example@gmail.com>\n\n";
if ($tel == null) {
    $mailMessage = mail("example@gmail.com", $subject1, iconv ('utf-8', 'windows-1251', $message), iconv ('utf-8', 'windows-1251', $header));
} else {
    $mail = mail("example@gmail.com", $subject1, iconv ('utf-8', 'windows-1251', $message1), iconv ('utf-8', 'windows-1251', $header));
}
if($mail)
{
echo 'OK';
}
}
else
{
echo 'OK';
}
?>

JQuery код:

    jQuery(document).ready(function($) {
$(".popup-form__btn").click(function() {
$.ajax({
type: "POST",
url: "http://localhost/example/contact.php",
dataType: 'json',
data: "param="+JSON.stringify(burgObj),
success: function(msg) {
    $('<p>Ваш заказ принят !</p>').appendTo('.success');
},
error: function() {
    $('<p>Ошибка при передаче данных !</p>').appendTo('.success');
},
});
return false;
});
Answer 1

Кривота предположительно здесь:

if($mail)
{
echo 'OK';
}
}
else
{
echo 'OK';
}

Предположу, что else должна быть перед последней закрывающей фигурной скобкой.

    if($mail) {
        echo 'OK';
    } else {
        echo 'OK';
    }
}

Чтобы не делать такие ошибки:

  • Нужно разрабатывать в IDE, которая подсветит ошибки
  • Уметь использовать отладчик для поиска ошибок
READ ALSO
Как добавить в массив наследуемого класса

Как добавить в массив наследуемого класса

Дано задание "Даны два классаКласс В является наследником класса А

115
Вывод поля с бд

Вывод поля с бд

Когда пользователь регистрируется на сайте и после регистрации ему показывает сообщение $info_reg = 'Вы успешно зарегистрировались! Ваша реферальная...

110
Расшифровка коротких ссылок

Расшифровка коротких ссылок

заинтересовал скрипт по расшифровке коротких ссылок Есть ссылка, например: http://langameppcom/chtst/DAFB5E48618B4D60DB8B69822BB7DB74EBC36A7F50BD3141E9A3B93CFB0B0AF50A41771313FE250CA8D6 И она...

111
PDO &amp; PHP проверка значений

PDO & PHP проверка значений

Всем привет,такой вопрос,есть такая таблица в MYSQL

120