【问题标题】:How to access the data from a jquery post in php?如何从 php 中的 jquery 帖子中访问数据?
【发布时间】:2016-11-26 20:49:16
【问题描述】:

我在我的 javascript 中使用以下内容:
jQuery.post( "cmssave.php" , html_to_send , done_edit() , "html" )

在 PHP 端,我正在尝试使用以下方式获取发布的数据:
$data = $_POST['somevar']

问题是(我假设)我找不到正在使用的 post 变量。
当我做var_dump($_POST)
我得到了(在我的日志中):, referer: http://blablabal
但是,当我使用:print_r( $_REQUEST, true )
我看到所有已发送的 html。 我尝试使用以下方法获取正确的数据:
$_POST , $_POST[''] , $_POST[0] , $_POST["data"] , $_POST['html_to_send']
但我什么也得不到。我错过了什么,还是我需要以某种方式在 javascript 中分配该变量?如果是这样,我该怎么做?

【问题讨论】:

  • html_to_send的值是多少?
  • @Berger 它是document.getElementsByTagName('html')[0].innerHTML

标签: php jquery post


【解决方案1】:

你可以像这样定义你想在 jquery 中使用的 post 变量:

var data = {
  somevar: 'my post value'
}
jQuery.post( "cmssave.php" , data, done_edit , "html" );

您可能还想在不带括号的情况下评估成功函数 (done_edit),否则您将调用成功函数并评估它的返回值。

而在 PHP 中你会得到这样的值:

$data = $_POST['somevar'];
echo $data;

【讨论】:

  • 在你的例子中我实际上必须做somevar: html_to_send。那有效吗?我试过了,我得到了完全相同的结果。 html_to_send 实际上是 document.getElementsByTagName('html')[0].innerHTML 如果这很重要
  • 您确定请求已发送吗?检查 js 开发工具中的 javascript 错误
  • 所以仍然不确定发生了什么,但显然我在使用 file_get_contents("php://input") 时得到了数据,不确定这是怎么回事,但使用那段代码而不是 $_POST['somevar'};
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多