我使用以下jQuery代码将表单数据发送到PHP处理脚本,该脚本可以在数据库中输入新的列表或更新现有列表。
该网站列出了待售的游艇和游艇。它工作得很好,但现在客户希望在列出新船时收到电子邮件通知。我在PHP处理脚本中添加了代码来执行此操作,但如果由于某种原因我使用mail()
它会阻止成功函数在下面的jQuery代码中工作。
mail()
函数是唯一影响它的函数。如果我评论该行,它会再次起作用。
有关正在发生的事情的任何想法?
$.ajax({
type: "POST",
url: "scripts/listing_form_json_exec.php",
dataType: 'json',
data: JSON.stringify(dataString),
success: function(data) {
var yacht_id = (data);
$('#manage_images_link').attr('href', 'manage_images.php?yacht_id=' + yacht_id);
$('input[name=yacht_id]').val(yacht_id);
$('img.saved').show();
$('img.saved').fadeOut(3000);
$('div#button_frame').show();
$('#errors_container').html('');
}
});
修改
PHP脚本很长,但这是令人讨厌的部分
$_SESSION['SESS_YAUCHT_ID'] = $yacht_id;
echo json_encode($yacht_id);
if (isset($message)) {
//mail($to, $subject, $message, $headers);
}
我尝试将mail()
函数放在不同的地方,但无论我把它放在哪里都会发生同样的事情。上面我已将mail()
函数注释掉,一切正常。如果我取消注释,脚本将停止工作。
答案 0 :(得分:0)
<强>尝试:强>
$_SESSION['SESS_YAUCHT_ID'] = $yacht_id;
echo json_encode($yacht_id);
if (isset($message)) {
if(@mail($to, $subject, $message, $headers)){
//ok
} else {
//error
}
}
答案 1 :(得分:0)
事实证明,因为我在本地测试,所以一旦我没有连接到邮件服务器 将它上传到服务器一切正常。
感谢您提出的建议,因为事实证明这是愚蠢的。