2017-02-21 1 views
-1

Erstens, danke, weil meine Frage hier zu sehen. Mein Problem ist, dass ich keine E-Mails über meine Ajax-Anfrage senden kann. Eigentlich ist meine Ajax-Anfrage, E-Mails zu posten, in einer anderen Ajax-Anfrage.Warum kann ich keine E-Mail über Ajax (ohne Formular) senden

Hier ist mein Code für meine 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); 
 
      } 
 
      
 
      
 
     }) 
 
}

und dies ist mein Code in 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)); 
 

 
?>

Sie y danken unsere Zeit. Ich hoffe, es gibt jemanden, der mir helfen könnte, das zu lösen.

+0

Was ist das genaue Problem? –

+0

Das Problem ist die Ajax-Anfrage zum Senden von E-Mails funktioniert nicht. Ich weiß nicht, warum vielleicht ich Fehler in meinem Code habe. Ich versuche console.log und setzen Sie Erfolg und Fehler in Ajax-Code, aber sie haben keine Dinge gefunden @Maximus –

+0

PHP-Skript get \ executed? –

Antwort

1

können Sie versuchen, Ihre gesamte zu PHP-Code zu dieser

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

auch den Prozess zu sehen, ich stark wickeln schlagen die Entwicklung Fenster Ihres Browsers zu verwenden.

Verwandte Themen