Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用ajax php jquery发送电子邮件_Php_Jquery_Ajax - Fatal编程技术网

无法使用ajax php jquery发送电子邮件

无法使用ajax php jquery发送电子邮件,php,jquery,ajax,Php,Jquery,Ajax,我尝试了很多次,访问了很多论坛,但都没有找到答案。请不要发表类似于其他文章的文章。试着帮我解决这个问题 HTML格式: <form action="" method="post" id="bookingForm"> <div id="radiobutton"> <input type="radio" name="trip" id="oneway" value="oneway" checked/>&nbsp;Oneway <input type="

我尝试了很多次,访问了很多论坛,但都没有找到答案。请不要发表类似于其他文章的文章。试着帮我解决这个问题

HTML格式:

<form action="" method="post" id="bookingForm">
<div id="radiobutton">
<input type="radio" name="trip" id="oneway" value="oneway" checked/>&nbsp;Oneway
<input type="radio" name="trip" id="return" value="return"/>&nbsp;Return
</div>
<br/>

From:<input id="boarding" type="text" maxlength="40" class="user_input" size="18" name="boarding" value="Hyderabad"/>
To:<input id="landing" type="text" maxlength="40" class="user_input" size="18" name="landing"/>
<br/><br/><br/>

Onward:<input id="datepick"  name="onward" class="user_input" size="15" />

Return: <input id="datepick2"  name="return" class="user_input" size="15" />
<br/><br/><br/>
Your Name:<input id="pax_name" type="text" name="pax_name"  class="user_input" size="25" maxlength="50"/>
<br/><br/>
Contact number:<input id="pax_contact" type="text" maxlength="14" name="pax_contact" class="user_input" size="25"/>
<br/><br/>
Email:<input id="pax_email" name="pax_email" class="user_input" size="25"/>
<br/><br/>
<center>

<input id="submit" type="button" value="Request" />

单因素方差分析
返回

发件人: 致:


向前的: 返回:


你的名字:

联络电话:

电邮:

用于发送电子邮件的process.php:

<?php

  $trip=$_POST['trip'];
  $boarding=$_POST['boarding'];
  $landing=$_POST['landing'];
  $onward=$_POST['onward'];
  $return=$_POST['return'];
  $pax_name=$_POST['pax_name'];
  $pax_contact=$_POST['pax_contact'];
  $pax_email=$_POST['pax_email'];

        $to='anvesh@bsbtravels.com,anvifriend@gmail.com';
        $subject='Booking Form Query';
        $body=
              'Name: '.$pax_name."\n".
              'Contact Number: '.$pax_contact."\n".
              'Trip: '.$trip."\n".
              'From: '.$boarding."\n".
              'To: '.$landing."\n".
              'Onward Date: '.$onward."\n".
              'Return Date: '.$return."\n";
        $headers='From: '.$pax_name.'<'.$pax_email.'>';
        mail($to,$subject, $body, $headers)

?>

Jquery代码:

$(document).ready(function(){
$('#submit').click(function(){
          var boarding=$('#boarding').val();
          var landing=$('#landing').val();
          var datepick=$('#datepick').val();
          var datepick2=$('#datepick2').val();
          var pax_name=$('#pax_name').val();
          var pax_contact=$('#pax_contact').val();
          var pax_email=$('#pax_email').val();


    if($('#landing').val().length<3 || $('#boarding').val().length<3 || $('#datepick').val().length<3 || $('#pax_name').val().length<3 || $('#pax_contact').val().length<8 || $('#pax_email').val().length<3){

        $('#bookfail').attr('title','Sending Failed!').text('Please Enter valid information. All fields are required').dialog({buttons:{'Ok':function(){
            $(this).dialog('close');
            }},closeOnEscape:true,draggable:false,resizable:false,modal:true});

    }else{
                var VarData='boarding='+boarding+'&landing='+landing+'&datepick='+datepick+'&datepick2='+datepick2+'&pax_name='+pax_name+'&pax_contact='+pax_contact+'&pax_email='+pax_email;
        $.ajax({
           type:'POST',
           url:'process.php',
                   data:VarData,
           success:function(){
           $('#booksuccess').attr('title','Request sent successfully').text('Your request has been sent. We will be in touch soon').dialog({buttons:{'Ok':function(){   $(this).dialog('close');
            }},closeOnEscape:true,draggable:false,resizable:false,modal:true});
           }
           error:function(){
                alert('Oops request sending failed. Please try again');
           }
        });
        }
    });
});
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var boarding=$('#boarding').val();
var landing=$('#landing').val();
var datepick=$('#datepick').val();
var datepick2=$('#datepick2').val();
var pax_name=$('#pax_name').val();
var pax_contact=$(“#pax_contact”).val();
var pax_email=$('pax_email').val();

如果($('#landing').val().length您正在以传统查询字符串格式发布您的值。。。 将您的值放入javascript对象中,并通过
stringify
ing将该对象发送到服务器

有两种方法可以做到这一点

1] 修改javascript文件,如下所示

将所有值放入
javascript
对象中…如下所示

var VarData= {
    "boarding" : boarding,
    "landing" : landing,
    "datepick": datepick,
    "datepick2": datepick2,
    "pax_name": pax_name,
    "pax_contact": pax_contact,
    "pax_email": pax_email
}
并将
$.ajax()
调用中的
数据:varData
行更改为

data:JSON.stringify(varData)

完成此操作后,您的
PHP
代码将能够捕获
$\u POST
数组中的值

现在您正在构建查询字符串,在
$\u POST
数组中没有像
boarding
这样的索引

第二种方法…保持你的
Javascript
原样,修改你的
PHP
代码

捕获从javascript代码发送的数据。并使用
explode
函数通过
&

$temp = explode("&",$_POST['data']);
$temp
将是一个数组,因此您需要使用循环遍历它。然后为
=
符号打断
$temp
中的每个元素


$t
将具有您正在查找的值,您可以使用该值发送邮件。

您在
成功
回调后缺少一个逗号:

success:function(){
   ...
}
error:function(){
   ...
}
一定是

success:function(){
   ...
},// <--
error:function(){
   ...
}
success:function(){
...

},//问题/错误是什么?什么都没有发生..当我单击“提交”按钮时。没有对话框/没有发送电子邮件。首先,您应该检查是否确实发出了ajax请求,页面上没有javascript错误。尝试Chrome Developer Tools。@user1897595尝试在web浏览器中按F12并查看“控制台”选项卡,它应该显示所有JavaScript错误。“网络”选项卡应该显示所有AJAX调用。它与您的错误无关,但我会使用
$.post(“process.php”,“yourForm”).serialize();
(请参阅)。编写更少的代码也可以最大限度地减少出错的机会。您使用的浏览器是什么?请检查
process.php
文件的路径。确保它正确无误。控制台上是否有任何错误?是的,它在根文件夹中。控制台:未捕获类型错误:无法读取null datepicker.js:290 bui的属性“offsetParent”ldCalendar datepicker.js:290(匿名函数)datepicker.js:358(匿名函数)OMG..可能是什么问题。它仍然是一样的。
success:function(){
   ...
},// <--
error:function(){
   ...
}