2017-02-21 39 views
-1

首先,謝謝,因爲在這裏查看我的問題。我的問題是我無法通過我的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)); 
 

 
?>

感謝您ÿ我們的時間。我希望有人能幫我解決這個問題。

+0

確切的問題是什麼? –

+0

問題是發送電子郵件的ajax請求無法正常工作。我不知道爲什麼我的代碼中有錯誤。我嘗試console.log,並把成功和錯誤的AJAX代碼,但他們沒有檢測到任何事情@Maximus –

+0

PHP腳本得到\執行? –

回答

1

你可以嘗試你的整個的PHP代碼換到這個

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

也是我強烈建議使用瀏覽器的發展窗口來查看進程。

相關問題