AJAX提交登录表单后获取$_POST变量返回数组是什么原因?
问题原因排查
- 首先检查
ajax_login.php文件是否存在多余的调试代码
你给出的示例PHP代码仅echo $_POST["eml"];一行,本身只会输出eml字段的字符串值,不会输出完整数组结构。你看到的数组打印结果,大概率是实际运行的PHP文件中残留了print_r($_POST)、var_dump($_POST)这类打印整个POST数组的调试语句,找到并删除这类语句即可恢复正常。 - 其次检查代码拼写与赋值逻辑
确认你没有把echo $_POST["eml"]误写为echo $_POST,同时确认PHP代码中没有将$_POST["eml"]错误赋值为数组的逻辑,比如$_POST['eml'] = $_POST这类错误操作。
验证方法
你可以清空ajax_login.php的所有内容,仅保留以下代码进行测试:
<?php echo $_POST["eml"]; ?>
正常情况下该代码只会返回你提交的邮箱地址,不会出现数组结构。
内容的提问来源于stack exchange,提问作者Simon T
相关产品推荐
相关产品推荐

