如何将变量从JSON传递到PHP?
如何将变量从JSON传递到PHP?
我正在使用JSON在Wordpress上生成一些数据,我需要将其存储在PHP会话变量中。这是我正在尝试的当前设置,但没有成功:
jQuery(document).ready(function($) { $.ajax({ url: 'url', type: 'POST', dataType:'json', data: {foo: 145}, success: function(data){ console.log(data); alert(data); } }); });
和PHP代码:
session_start(); $_SESSION['bar'] = $_POST['foo'];
我可以在控制台中看到数据,但当我输出我的会话变量时没有任何显示。使用vardump返回一个空数组。我在哪里出错了?
(我知道还有很多类似的问题,但相信我,我已经尝试过所有方法-没有任何结果。)
问题的原因:
无法直接将JSON中的变量传递给PHP,需要通过其他方式进行传递。
解决方法:
1. 在两种语言中设置一个全局变量,然后通过JavaScript进行传递。
2. 可以使用PHP的includes功能,在每个页面中实现变量的传递。
代码示例:
在JavaScript中传递变量:
var variable = "value";
在PHP中接收变量:
$variable = $_GET['variable'];
通过PHP includes进行变量传递:
// 在需要传递变量的页面中使用include include 'variables.php';
在variables.php文件中定义变量:
$variable = "value";
问题:如何将JSON中的变量传递给PHP?
解答:你不能使用JavaScript来存储服务器端的变量。你必须在这个AJAX调用的PHP脚本中保存$_SESSION变量。你把URL放在哪里了?在WordPress中,你可以使用JQuery来调用一个特殊的钩子,该钩子可以在functions.php中捕获,并处理所有的AJAX请求。
关于这个问题的解决方法,有很多信息可以参考,可以查看以下答案的解决方案: