AJAX从php中未返回变量。
AJAX从php中未返回变量。
我知道这里有一些类似的问题,但我已经进行了很多研究和整天的错误修复,以试图弄清楚为什么我的ajax没有从php文件返回响应。我只希望它告诉我用户已经注册,这样我就可以让用户继续注册过程。我只需要有人明智的指导告诉我我做错了什么!所以我不会让你们感到无聊,只给出js文件中ajax部分的代码。\n如果ValidationComplete为true:\n- 获取表单的action和method属性以及所有name属性的值\n- 发送ajax请求\n- 如果成功,弹出结果的状态和打印数据\n- 如果失败,打印错误信息\n当前的问题是,如果我移除dataType部分,弹出框会显示结果,但是现在什么都没有显示。\nphp文件中的代码如下:\n- 执行插入数据库的查询语句\n- 如果查询成功,返回\"true\"的json响应\n任何帮助都将是惊人的!!!\n更新后的代码:\n- 检查是否设置了所有POST参数\n- 获取POST参数的值\n- 进行各种验证\n- 执行插入数据库的查询语句\n- 如果查询成功,发送确认邮件并返回\"success\"的json响应\n- 如果失败,返回mysql错误信息\n- 如果所有字段都为空或未设置,返回错误信息\n如果已经登录,显示\"你已经注册并登录\"。\n请注意这只是代码的一部分。
问题出现的原因是在php脚本中有太多的闭合括号,需要移除其中一个闭合括号。此外,还有两个其他问题是需要注意的,一是在代码中接受用户输入时没有进行清理和测试,这是一个安全隐患;二是使用了已经过时的mysl_函数,应该使用更安全的PDO代替。
解决方法是移除多余的闭合括号,并添加错误捕捉代码。同时,在php脚本顶部添加ini_set('error_reporting',1);
。如果还有错误,可以通过编辑帖子并添加php代码,或者使用firebug右键点击ajax调用,选择“在新标签页打开”来模拟POST到脚本并查看完整的错误页面。另外,可以尝试移除ajax调用中的dataType: 'json'
来获得更详细的错误信息。
最终,删除ajax后面的return false
,并查看返回的错误信息。