Send email via ajax

时间:2016-02-24 作者:user89375

我在家里有发送电子邮件的功能。php wordpress文件和函数如下

$("#sendmailbtn").click(function(e) {
    var dataString = $(".pricing").html();
    e.preventDefault();
    var grandTotal = localStorage.getItem("GrandTotal");
    $.ajax({
    type: "POST",
    url: "/wp-admin/admin-ajax.php",
    datatype: "html",
    data: {\'action\': \'fahadsending_mail\', \'more\': dataString, \'grandTotal\': grandTotal},
    success: function(response) {
        alert("success is " + response);
    },error:function(response){
        alert("error is " + response);
    }
    });
});
以及我函数中的电子邮件代码。php文件在下面,我正在向fahadsending\\u邮件函数发送帖子,但它是ajax成功函数,它警告成功是0

    add_action(\'wp_ajax_fahadsending_mail\', \'fahadsending_mail\');
add_action(\'wp_ajax_fahadsending_mail\', \'fahadsending_mail\');

function fahadsending_mail(){

        $to = "[email protected]";
        $subject = "Donation";
        $message = "message message message message message message message "; 

        if(wp_mail($to, $subject, $message))
        {
            echo "mail sent";
    } else {
        echo "mail not sent";
    }

}
响应出现在成功函数中,它的警报成功为0,ajax post显示以下操作wplc\\u call\\u to\\u server\\u visitor cid 213 security2f40c8e66f status5 wplc\\u emailno email set wplc\\u nameGuest wplcsession 1456325128583

1 个回复
SO网友:fischi

您还需要允许来宾的AJAX请求。通常,当WordPress AJAX调用返回0时,意味着用户没有执行该操作的能力。

此外,还显示了您的调试信息Guest.

更改函数以包括nopriv 面向客人的AJAX:

add_action(\'wp_ajax_nopriv_fahadsending_mail\', \'fahadsending_mail\');
add_action(\'wp_ajax_fahadsending_mail\', \'fahadsending_mail\');

function fahadsending_mail(){

    $to = "[email protected]";
    $subject = "Donation";
    $message = "message message message message message message message "; 

    if( wp_mail($to, $subject, $message) ){
        echo "mail sent";
    } else {
        echo "mail not sent";
    }

    die(); // never forget to die() your AJAX reuqests

}

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i