Javascript AJAX序列化数据为空
我试图通过AJAX发布表单数据 当我删除AJAX函数并执行标准formpost方法时,数据将被插入DB fine中。当I console.log提交表单的序列化数据时,它显示为罚款 当AJAX函数启动时,数据似乎消失了。函数启动成功,但未插入任何数据,formdata变量似乎为空。有人能解释一下吗 这是到目前为止的代码- jQuery/AJAX- HTML 注意:我已经删除了这篇文章的DB细节,但它们在代码中 控制台 name=Benji&email=email%40email.com&site=localhost%3A8888-scripts.min.js:9:117 网络 这是因为jQuery的.serialize: 由于未使用按钮提交表单,因此未序列化任何提交按钮值 检查控制台以获取console.logformdata的输出-您将看到缺少submit。由于缺少,您在后端对该值进行的测试将失败:Javascript AJAX序列化数据为空,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图通过AJAX发布表单数据 当我删除AJAX函数并执行标准formpost方法时,数据将被插入DB fine中。当I console.log提交表单的序列化数据时,它显示为罚款 当AJAX函数启动时,数据似乎消失了。函数启动成功,但未插入任何数据,formdata变量似乎为空。有人能解释一下吗 这是到目前为止的代码- jQuery/AJAX- HTML 注意:我已经删除了这篇文章的DB细节,但它们在代码中 控制台 name=Benji&email=email%40email.com&site
if(isset($_POST['submit'])){
具体如何解决这个问题取决于你想做什么。如果您只是想确保请求是帖子而不是GET,您可以使用:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
如果要执行基本验证,可以显式检查每个预期值是否存在:
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['site'])) {
您没有正确使用准备好的语句。。将占位符用作值。。不要在内部抛出帖子数据。您可以查看开发人员工具的“网络”选项卡来分析该请求吗;Return?console.logformdata;=>console.debugformdata;控制台中的输出是什么?@OfirBaruch Network看起来不错,insert.php有一个200 status on post方法。所有的脚本和css也包括在内。
if(isset($_POST['submit'])){
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['site'])) {