AJAX提交注册表单时POST数据无法发送到PHP后端问题求助
问题根因
你的AJAX代码中jQuery选择器书写错误,导致无法正确获取表单数据序列化结果。
你当前的代码写的是:
$("register-form").serialize()+'&action=register'
$("register-form")属于标签选择器,会尝试匹配页面上名为register-form的HTML标签,而非id为register-form的表单,自然获取不到任何表单字段,所以序列化结果为空,最终只有你手动拼接的action=register参数被传到后端。
修复方案
只需要给表单选择器加上id选择器标识#即可,修改后的代码如下:
// 把原来的 $("register-form").serialize() 替换为下面的代码 $("#register-form").serialize()+'&action=register'
可选优化建议
可以把事件绑定从按钮点击改成表单提交事件,覆盖用户回车提交表单的场景,避免出现逻辑遗漏:
// 把原来的 $("#register-btn").click(function(e) { 替换为下面的代码 $("#register-form").submit(function(e) {
修改后重新测试即可正常获取所有表单POST参数。
内容的提问来源于stack exchange,提问作者Nimetu
相关产品推荐
相关产品推荐

