Javascript 未使用ajax从php文件接收响应
目前,我正在尝试在提交注册表后使用PHPMailer发送电子邮件,但我已成功接收电子邮件,但在发送电子邮件后未被重定向或收到任何消息通知框 注册表格Javascript 未使用ajax从php文件接收响应,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,目前,我正在尝试在提交注册表后使用PHPMailer发送电子邮件,但我已成功接收电子邮件,但在发送电子邮件后未被重定向或收到任何消息通知框 注册表格 用户名 名字 姓 电子邮件 密码 确认密码 性别 男性 女性 其他 注册 您的ajax很好,它正在向php文件发送数据,但是,php无法访问信息,因为您没有定义(我不知道他们怎么称呼它)让我们说方法名称: $.ajax({ type : 'POST', url : 'core/register.
用户名
名字
姓
电子邮件
密码
确认密码
性别
男性
女性
其他
注册
您的ajax
很好,它正在向php
文件发送数据,但是,php
无法访问信息,因为您没有定义(我不知道他们怎么称呼它)让我们说方法名称:
$.ajax({
type : 'POST',
url : 'core/register.class.php',
data : {'create_account': data}, //********this is too important!!!
beforeSend: function()
{
$("#log").fadeOut();
$("#create_account").html('<i class="fa fa-spinner fa-spin"></i>');
},
我认为这对您来说很好。而不是
window.location.href
尝试window.location
来执行实际的重定向。window.location.href也可以工作,但我认为email.class.php存在一个问题,这就是为什么即使我通过email.calss.phpremove标题('location:../verify.php?verify='。$email);仍然没有收到消息或重定向。似乎不起作用。请帮自己一个忙,启用完整的错误报告,如果在ajax调用期间在web浏览器网络选项卡中收到500个错误,请查看服务器日志。或者,如果您没有收到500,请查看原始响应数据。你说如果你不打电话给send\u code
,你会得到回复。。。这意味着您的问题完全在于send\u code
的函数定义。添加此ini\u集('display\u errors',1);ini设置(“显示启动错误”,1);错误报告(E_全部);mysqli_报告(mysqli_报告错误| mysqli_报告严格)代码>到您的脚本顶部。感谢您的回答,但php正在访问信息,因为我的用户正在我的数据库中注册,加上我也收到了验证电子邮件,如果我根据ajax成功功能更改设置为不发送电子邮件,我也会收到重定向和带有两个响应“adminact”的消息感谢ajax的正确方法,我解决了这个问题。
if (isset($_POST['create_account'])){
$get = explode('&', $_POST['create_account'] ); // explode with &
foreach ( $get as $key => $value) {
$valn[ substr( $value, 0 , strpos( $value, '=' ) ) ] = substr( $value, strpos( $value, '=' ) + 1 ) ;
}
// access your query param
$username = trim($valn['username']);
$first_name = trim($valn['first_name']);
$last_name = trim($valn['last_name']);
$email = trim($valn['email']);
$pass = trim($valn['password']);
$password = PASSWORD_HASH($pass, PASSWORD_BCRYPT);
$gender = $valn['gender'];
$code = mt_rand(1111111, 9999999);
$reg_date = date('Y-m-d');
try{
$rai = $db_con->prepare("ALTER TABLE users AUTO_INCREMENT = 1");
$rai->execute();
if($settings['account_act']=='noact'){
$v_status = 'true';
$a_status = 'true';
$stmt = $db_con->prepare("INSERT INTO users(username,first_name, last_name, email, password, gender, a_status, reg_date, v_code, v_status) VALUES(:uname, :fn, :ln, :email, :pass, :gender, :a_status, :regd, :code, :v_status)");
$stmt->execute(array(":uname"=>$username,":fn"=>$first_name,":ln"=>$last_name,":email"=>$email,":pass"=>$password,":gender"=>$gender,":a_status"=>$a_status,"regd"=>$reg_date,":code"=>$code,":v_status"=>$v_status));
echo 'noact';
}else if($settings['account_act']=='emailact'){
$v_status = 'false';
$a_status = 'false';
$stmt = $db_con->prepare("INSERT INTO users(username,first_name, last_name, email, password, gender, a_status, reg_date, v_code, v_status) VALUES(:uname, :fn, :ln, :email, :pass, :gender, :a_status, :regd, :code, :v_status)");
$stmt->execute(array(":uname"=>$username,":fn"=>$first_name,":ln"=>$last_name,":email"=>$email,":pass"=>$password,":gender"=>$gender,":a_status"=>$a_status,"regd"=>$reg_date,":code"=>$code,":v_status"=>$v_status));
send_code($code,$email);
echo 'emailact';
}
}else if($settings['account_act']=='adminact'){
$v_status = 'false';
$a_status = 'false';
$stmt = $db_con->prepare("INSERT INTO users(username,first_name, last_name, email, password, gender, a_status, reg_date, v_code, v_status) VALUES(:uname, :fn, :ln, :email, :pass, :gender, :a_status, :regd, :code, :v_status)");
$stmt->execute(array(":uname"=>$username,":fn"=>$first_name,":ln"=>$last_name,":email"=>$email,":pass"=>$password,":gender"=>$gender,":a_status"=>$a_status,"regd"=>$reg_date,":code"=>$code,":v_status"=>$v_status));
echo 'adminact';
}
}
catch(PDOException $e){
echo "sorry".$e->getMessage();
}
}