Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX序列化数据为空_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript AJAX序列化数据为空

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

我试图通过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。由于缺少,您在后端对该值进行的测试将失败:

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'])) {