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