联系人,PHP 不会将字符串返回给 AJAX



我的托管服务器上有AJAX联系表单,在不同的域(另一个托管)上有邮件.php文件。我正在尝试使用 jQuery 验证表单并使用 AJAX 发送电子邮件,但是当我调用 php 文件时,它会将电子邮件发送到邮箱,但没有返回"成功"消息。相反,我得到"一个空字符串"。

我在 js 中有

    $.ajax({
    type: 'POST',
    url: options.url,
    data: {subject:options.subject, name:$('#name').val(), email:$('#email').val(), message:$('#message').val()},
    success: function(data){
       if( data == 'success') {
           $('#callback').append(options.recievedMsg);
       } else {
           $('#callback').append(options.notRecievedMsg);
       }
    });

php看起来像这样

    <?php
    define( "RECIPIENT_NAME", "John Smith" );
    define( "RECIPIENT_EMAIL", "my.email@mail.com" );
    define( "EMAIL_SUBJECT", "Visitor Message" );
    $senderName = stripcslashes($_POST['name']);
    $senderEmail = stripcslashes($_POST['email']);
    $message = stripcslashes($_POST['message']);
    if ( $senderName && $senderEmail && $message ) {
        $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
        $headers = "From: " . $senderName . " <" . $senderEmail . ">";
        $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
    };
    echo 'success';
    ?>

当我签入控制台"data"值时,它说(一个空字符串),而在 ajax if 函数中,我总是得到 false 和 notReceived 消息。

如何使 php 文件返回 'success' if(data == 'success') 状态为真?我在这里错过了一些东西吗?

由于同

源策略,您无法将 AJAX 请求发送到另一个域。

相关内容

  • 没有找到相关文章

最新更新