为什么我无法通过ajax发送电子邮件(没有表格)

时间:2017-02-21 16:54:32

标签: javascript php jquery ajax

首先,谢谢,因为在这里查看我的问题。我的问题是我不能通过我的ajax请求发送电子邮件。实际上,我发布电子邮件的ajax请求是另一个ajax请求。

这是我的ajax的代码:

$.ajax({
            url: 'creating_bill.php',
            data: { 
                paid_amount : JSON.stringify(jumlah_semua),
                email : emel,
                name : nama
            },
            type: "POST",
            dataType: "json",
            
            success: function (data) {
                id = data.id;
                url = data.url;
                   
               confirm('Terima Kasih ! Sila membuat pembayaran dengan segera.');          
               window.open(data.url, '_blank');
                setTimeout(checkBillStatus, 1000);

                $('li#progress2').removeClass('active').next().addClass("active");
               $('.container_waiting').fadeIn();
                $('#cara_pembayaran_form').fadeOut();
                
                     var  name =$('input#nama').val();
                     var   phone =$('input#phone').val();
                     var  negeri =$('input#negeri').val();
                     var   bandar =$('input#bandar').val();
                     var   poskod = $('input#poskod').val();
                     var   alamat =$('input#alamat').val();
                     var   emel = $('input#emel').val();
                     var   jumlah = $('input#jumlah_semua').val();
                     var   bill_url = url;
                     
                     // Here is my ajax request to send email
                    $.ajax({
                            type: "POST",
                            url: "send_bill_email.php",
                            data: {
                                name : name,
                                phone : phone,
                                negeri : negeri,
                                bandar : bandar,
                                poskod : poskod,
                                alamat : alamat,
                                emel : emel,
                                jumlah : jumlah,
                                bill_url : bill_url
                            },
                            dataType:"json",
                            success: function(data2){
                                console.log("Success!");
                            }
                        });
            },
            async: false,
            error: function(data) {
                handleRequestError(data);
            }
            
            
        })   
}

这是我在php中的代码:

<?php
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $email = $_POST['emel'];
    $address = $_POST['alamat'];
    $poskod = $_POST['poskod'];
    $negeri = $_POST['negeri'];
    $bandar = $_POST['bandar'];
    $jumlah_harga = $_POST['jumlah'];
    $bill_url = $_POST['bill_url'];

    $to =  $email; 

    // Subject
    $subject = 'FROM: Ordering System From - ' . $name;

    // Message
    $message = '
    <html>
        <head>
            <title>' . $subject . '</title>
        </head>
        <body>
            <p>Nama: ' . $name . '</p>
            <p>Telefon: ' . $phone . '</p>
            <p>Email: ' . $email . '</p>
            <p>Alamat: ' . $address . '</p>
            <p>Poskod: ' . $poskod . '</p>
            <p>Negeri: ' . $negeri . '</p>
            <p>Bandar: ' . $bandar . '</p>
            <p>Jumlah Harga: ' . $jumlah_harga . '</p>
            <p>Bill url: ' . $bill_url . '</p>
        </body>
    </html>
    ';

    // To send HTML mail, the Content-type header must be set
    $headers[] = 'MIME-Version: 1.0';
    $headers[] = 'Content-type: text/html; charset=iso-8859-1';

    // Additional headers
    $headers[] = 'From: ' . $name . ' <' . $email . '>';

    // Mail it
    mail($to, $subject, $message, implode("\r\n", $headers));

?>

感谢您的时间。我希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

你能尝试将你的整个PHP代码包装到这个

if($_SERVER['REQUEST_METHOD']=='POST'){
 //YOUR CODE GOES HERE 
}

我强烈建议您使用浏览器的开发窗口查看该过程。