当前位置: 首页 > 知识库问答 >
问题:

AJAX表单发布到PHP脚本,但PHP脚本中的$\u POST为空

姜玮
2023-03-14

Ajax表单发布到php脚本,但php脚本中的$\u POST为空

我有一个通过ajax发布数据的联系我们表单。在表单上,提交ajax将数据发布到PHP脚本中,但是PHP脚本中的$_POST总是空的。头被发送,请求有效载荷有我需要的所有帖子信息,但在PHP脚本中,$_POST是空的。

超文本标记语言

<form action="contact.php" method="post" novalidate="novalidate" 
id="contact-form">
<input name="name" id="name" type="text" value="" >
<input type="text" name="address" id="address" value="" >
<input type="submit" value="Send" id="submit_contact">
</form>

JQUERY

       $.ajax({
        type: 'POST',
        url: 'contact.php',
        dataType: 'json',
        contentType: 'application/json',
        cache: false,
        data: $('#contact-form').serialize(),
        success: function(data) {
            if(data.info !== 'error'){                  
             //success
            } else {
                console.log(JSON.stringify(data));
                //failure
            }
        }
    });

PHP

if(isset($_POST['name']) and isset($_POST['address']))){
      //Process
} else {
  //success
}

$\u POST始终返回null,但我想获取发布的名称和地址值。

共有1个答案

闾丘选
2023-03-14
contentType: 'application/json',

您声称您正在发布JSON,PHP没有默认的解析器,因此PHP不会尝试解析它,也不会填充$_POST

由于您没有发布JSON($(“#联系人表单”)。serialize()返回URL编码的数据,而不是JSON),只需删除谎言即可。

 类似资料:
  • 问题内容: 如何在php脚本中向另一个php页面发出发布请求?我有一台前端计算机作为html页面服务器,但是当用户单击按钮时,我希望后端服务器进行处理,然后将信息发送回前端服务器以显示给用户。我说的是我可以在后端计算机上有一个php页面,它将信息发送回前端。所以再一次,我如何从一个php页面向另一个php页面发出POST请求? 问题答案: 使PHP执行POST请求的最简单方法可能是使用cURL,它

  • 问题内容: 我有由函数 .push 制成的数组。数组中的数据非常大。如何将此最佳方式发送到PHP脚本? script.php: 最好的方法是什么? 问题答案: 将您的数据字符串编码为JSON。 在你的PHP中 注意 通过POST发送数据时,它必须作为键值对。 从而 是错的。而是:

  • 问题内容: 我正在尝试将数据发送到我的PHP脚本来处理一些东西并生成一些东西。 在我的PHP文件中,我尝试检索专辑名称。虽然当我验证它时,我创建了一个警报以显示什么都没收到,但是我尝试通过 虽然会说undefined:/ 问题答案: 您正在发送POST AJAX请求,因此请在您的服务器上使用来获取值。我也建议您这样编写请求,以确保正确的编码: 或简称为: 如果您想使用GET请求: 或简称为: 现在

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我有来自数据库的数据行,我想有一个带有简单分页的表,最简单的方法是什么? 如果有人可以提供,我会很高兴。 问题答案: 这是HTML和代码的混合,但是非常基础,易于理解,并且解耦起来也很简单,可以满足您的需求。

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取

  • 我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。 这是我的BASH脚本 这是我的PHP脚本 从命令行运行BASH脚本时,出现以下错误。 我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了