我使用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'];
我可以在控制台中看到数据,但是当我回显我的sesh var时,什么都不显示。使用vardump返回一个空数组。我在哪里错了?
(我意识到还有很多其他问题,但请相信我,我已经尝试过所有这些问题 - 虚无..)
答案 0 :(得分:1)
答案:您无法使用javascript存储服务器端变量。
您必须将$ _SESSION var保存在此AJAX调用的PHP脚本中。你把URL放到哪?在WordPress中,您可以使用JQuery调用一个特殊的钩子,可以捕获它处理所有AJAX的functions.php。
到处都有关于此的信息,请参阅此答案的解决方案: Using AJAX in a WordPress plugin
答案 1 :(得分:0)
您必须为这两种语言设置一个全局变量,然后通过javascript传输它们,您可以使用php include在每个页面上执行此操作。