0

我正在使用以下 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()注释掉了函数,一切正常。如果我取消注释它,脚本将停止工作。

4

2 回答 2

0

事实证明,由于我在本地进行测试,它没有连接到邮件服务器,一旦我将它上传到服务器,一切正常。

感谢您的建议,事实证明这是愚蠢的。

于 2013-05-06T21:57:20.190 回答
0

尝试:

$_SESSION['SESS_YAUCHT_ID'] = $yacht_id;
echo json_encode($yacht_id);

if (isset($message)) {
    if(@mail($to, $subject, $message, $headers)){
            //ok
    } else {
            //error
    }
}
于 2013-05-06T21:05:32.017 回答