AJAX提交表单调用sendmail.php写入本地数据库失败求助
问题诊断与修复方案
我一眼就看到了两个关键问题导致你的AJAX提交没生效,咱们一个个解决:
1. AJAX请求的URL文件名拼写错误
你的后台文件是sendmail.php,但AJAX代码里写的是url:'send-mail.php'——注意文件名里的横杠!这个错误会导致服务器返回404错误,请求根本到不了处理逻辑。
2. sendmail.php依赖的$_POST['Submit']参数不存在
你用isset($_POST['Submit'])作为判断是否执行插入的条件,但通过jQuery.serialize()序列化表单时,<button>标签的name参数不会被包含进去(只有<input>/<select>/<textarea>这类表单控件会被序列化),所以这个判断永远不成立,插入代码根本不会执行。
修复后的完整代码
修正后的AJAX脚本(解决URL拼写问题+添加错误调试)
jQuery('#get-quote').on('submit',function(e) { e.preventDefault(); jQuery('#Submit').html('Please Wait'); jQuery('#Submit').attr('disabled',true); $.ajax({ url:'sendmail.php', // 修正文件名,去掉多余横杠 type:'POST', data:jQuery('#get-quote').serialize(), success:function(result){ jQuery('#msg').html(result); jQuery('#Submit').html('Submit'); jQuery('#Submit').attr('disabled',false); jQuery('#get-quote')[0].reset(); }, // 新增错误回调,方便调试请求失败原因 error:function(xhr, status, error){ console.log('AJAX请求出错:', error); jQuery('#msg').html('提交失败,请稍后重试'); jQuery('#Submit').html('Submit'); jQuery('#Submit').attr('disabled',false); } }); });
修正后的sendmail.php(解决参数判断问题+增强错误处理)
<?php $msg=""; $con=mysqli_connect('localhost','root','','loans4you'); // 检查核心字段是否存在,替代依赖按钮参数的判断 if (isset($_POST['name'])) { $name=mysqli_real_escape_string($con, $_POST['name']); $email=mysqli_real_escape_string($con, $_POST['email']); $phone=mysqli_real_escape_string($con, $_POST['phone']); $amount=mysqli_real_escape_string($con, $_POST['amount']); $years=mysqli_real_escape_string($con, $_POST['years']); // 新增插入结果判断,返回更精准的提示 if(mysqli_query($con,"insert into getquote(name,email,phone,amount,years) values('$name','$email','$phone','$amount','$years')")){ $msg="Thank you!"; } else { $msg="提交失败:".mysqli_error($con); } echo $msg; } ?>
额外安全优化建议
为了进一步提升安全性,建议使用PHP预处理语句替代mysqli_real_escape_string,能更彻底地防止SQL注入:
// 预处理语句示例 $stmt = $con->prepare("INSERT INTO getquote(name, email, phone, amount, years) VALUES (?, ?, ?, ?, ?)"); $stmt->bind_param("sssss", $name, $email, $phone, $amount, $years); $stmt->execute();
内容的提问来源于stack exchange,提问作者Sarcasm
相关产品推荐
相关产品推荐

