我想使用jQuery帖子更新$_SESSION
数据
最终我found this script作为系统的基础'。
我创建了以下两个文件作为测试:
t1.php:
<?php
session_start();
/* After refresh, src should be visible */
echo print_r($_SESSION);
?>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<img class="foo" src="img.jpg" />
<img class="foo" src="img2.jpg" />
<img class="foo" src="img3.jpg" />
<script>
$("img.foo").onclick(function()
{
// Get the src of the image
var src = $(this).attr("src");
// Send Ajax request to backend.php, with src set as "img" in the POST data
$.post("/t2.php", {"img": src});
});
</script>
t2.php:
<?php
session_start();
$_SESSION['imgsrc'] = $_POST['img'];
?>
不幸的是,刷新t1.php
后它不会产生src路径
$_SESSION['imgsrc']
保持空白
我已经尝试了一切,也许是为了获得一些东西?
希望你能帮忙!
答案 0 :(得分:1)
您忘记附加文档就绪处理程序+它不是onclick
而是click
,请将其添加到您的代码中:
<script>
$(document).ready(function(){
$("img.foo").click(function()
{
// Get the src of the image
var src = $(this).attr("src");
// Send Ajax request to backend.php, with src set as "img" in the POST data
$.post("/t2.php", {"img": src});
});
});
</script>
答案 1 :(得分:0)
也许我到处都看到json,但这是进行沟通的最佳方式。 从PHP处理正确的json将是
$post= file_get_contents('php://input');
$json= json_decode($post,true); // true means json will be assoc array
然后可以修改您的脚本:
<?php
session_start();
$post= file_get_contents('php://input');
$json= json_decode($post,true);
$_SESSION['imgsrc'] = $json['img'];
?>
有了这个肯定会工作
$.ajax({
type: "POST",
url: "/t2.php",
data: {"img": src},
dataType: "application/json"
});