Php 成功返回空ajax
我遇到了一个问题,成功后返回的数据是空的。 这里有一些代码 我已经检查了php邮件功能,它工作正常Php 成功返回空ajax,php,jquery,ajax,Php,Jquery,Ajax,我遇到了一个问题,成功后返回的数据是空的。 这里有一些代码 我已经检查了php邮件功能,它工作正常 $("input[type=submit]").click(function(){ // перехватываем все при событии отправки var form = $('#form'); // запишем форму, чтобы потом не было проблем с this if (!error) { // если ошибки не
$("input[type=submit]").click(function(){ // перехватываем все при событии отправки
var form = $('#form'); // запишем форму, чтобы потом не было проблем с this
if (!error) { // если ошибки нет
var data = form.serialize(); // подготавливаем данные
$.ajax({ // инициализируем ajax запрос
type: 'POST', // отправляем в POST формате, можно GET
url: 'mail.php', // путь до обработчика, у нас он лежит в той же папке
data: $("#form").serialize(), // данные для отправки
dataType: 'html',
beforeSend: function(data) { // событие до отправки
form.find('input[type="submit"]').attr('disabled', 'disabled'); // например, отключим кнопку, чтобы не жали по 100 раз
},
success: function(data){ // событие после удачного обращения к серверу и получения ответа
alert(data);
if (data['error']) { // если обработчик вернул ошибку
alert(data['error']); // покажем её текст
} else { // если все прошло ок
$('#thirdblock').addClass('block')
$('#secondblock .arrow2').addClass('block')
}
},
error: function (xhr, ajaxOptions, thrownError) { // в случае неудачного завершения запроса к серверу
alert(xhr.status); // покажем ответ сервера
alert(thrownError); // и текст ошибки
},
complete: function(data) { // событие после любого исхода
form.find('input[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно
}
});
}
return false; // вырубаем стандартную отправку формы
});
下面是php代码
<?php
if($_POST['submit']) {
// $_POST['title']
$title = $_POST['name'];
$mess = 'Name: '.$_POST['name'].'<br> Phone: '.$_POST['phone'].'<br>Email:'.$_POST['email'].'<br>Where:'.$_POST['whenmap'].'<br>When:'.$_POST['dayst'].'<br>Textfield:'.$_POST['textfield'].'';
$to = $_POST['email'];
$to2 = 'steelbrod2007@yandex.ru';
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: test <test@example.com>\r\n";
mail($to, $title, $mess, $headers);
mail($to2, $title, $mess, $headers);
}
?>
我刚刚删除了if($_POST['submit']),php代码中的所有内容都正常运行如果邮件发送成功,您没有输出任何内容,因此ajax成功(数据)-数据将为空,如果成功或失败,请尝试回显一些内容您需要更正php代码:
您的js代码是:
success:函数(数据){//
警报(数据);
如果(数据!=“1”){//
警报(数据);//
}否则{//
$('thirdblock').addClass('block'))
$('#secondblock.arrow2').addClass('block'))
}
},
我希望这会有所帮助。如果出现任何错误,请检查浏览器控制台。什么php代码会产生回音?得到的数据是空的,到目前为止,如果我直接用php代码发布表单,这应该是答案吗?或者你想澄清你的问题。