PHP Post 变量有重复的、已修改的数据

标签 php jquery ajax apache post

我正在开发一个可以启动 ajax 调用的简单链接。在我们的 Ubuntu 服务器退役之前,这一切都按预期工作;我们有一个新的、“相同”的服务器。当我检查 POST 中的内容时,问题出现在服务器端。 $_POST["scan_date"] 的预期回显是:2012-11-26

实际回显为:2012-11-26scan_date=2012-11-26

这是下面 PHP 代码中的实际回显。 客户端警报给出:2012-11-26,这就是我所期望的。 因此,服务器端似乎发生了一些事情。我希望回显为“2012-11-26”而不是“2012-11-26scan_date=2012-11-26”

我不明白为什么 POST 数据会变得这样困惑。

PHP:

$date = isset($_POST["scan_date"]) ? $_POST["scan_date"] : date("Y-m-d");
echo $date;  //produces 2012-11-26scan_date=2012-11-26 which is bad

JQuery:

var val = $(this).attr('value');
dateSelected = val.replace(/facterOption-/g, "");
dateSelected = $.trim(dateSelected);
alert(dateSelected);  //alerts 2012-11-26 which is good

$.ajax({
type: "POST",
dataType: 'json',
url: 'https://someurl',
data: {
scan_date: dateSelected
}
})

更新:我们尝试了完全超出此 PHP 项目代码框架的命令行curl 调用,并且注意到了相同的结果。所以也许 Apache 与此有关。

此外,我们发现添加第二个 POST 参数和值可以解决此问题。

最佳答案

这是一个现有的错误。

https://bugs.php.net/bug.php?id=22773

解决办法是:

  • 在帖子中发送另一个虚拟名称/值对
  • 要求 > IE6
  • 如果适用,请使用 GET 而不是 POST

关于PHP Post 变量有重复的、已修改的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574369/

相关文章:

php - 为什么只显示最后输入的消息

php - 如何在 codeigniter 中为联合表添加分页

javascript - 如何在 javascript 中将数组从 php 返回到 ajax 响应

javascript - $http angularjs POST 不发送我的数据?

jquery - 用于渐变效果的引导工具提示

php - 页面加载后的 Ajax 请求

php - 强制 php 查看文档根目录

php - 为什么我的 mysql 连接中有一个 "Invalid argument supplied for foreach"?

javascript - 使用 jQuery 解析 Reddit XML 时出现问题

javascript - 二维数组未捕获类型错误 : Cannot set property '0' of undefined