jquery ajax post onclick - php会话变量

时间:2013-10-17 12:08:57

标签: php jquery ajax session post

在我的主页上,我正在使用maximage全屏图片插件。当有人点击一个 具体链接(产品页面),我必须找出幻灯片中当前的图像是什么 并将其设置为产品索引页面中的背景图像。

当有人点击主页上的'/ producten'链接并将其存储为会话变量时,我正在进行ajax调用。

问题是,它没有进行ajax调用,我在apache日志文件中看不到POST请求,只看到'/ producten'页面的GET请求。会快吗?我在发出GET请求之前不能发出POST请求吗?我无法确定它。这是我的代码:

主页索引:

jQuery(document).ready(function($)
{
    $("a[href='/producten']").click(function() {
        var best;
        var maxz;
        $('.mc-image').each(function() {
            var z = parseInt($(this).css('z-index'), 10);
            if (!best || maxz<z) {
                best = this;        
                maxz = z;
            }
        });
        var bg_image = $(best).css('background-image');
        bg_image     = bg_image.replace('url(','').replace(')','');

        $.post('/producten', {bg_image:bg_image});
    });
});

bg_image设置正确,我用console.log()测试它,然后输出。

/ producten index:

<?php
    session_start();

    $_SESSION['bg_image'] = $_POST['bg_image'];
?>

1 个答案:

答案 0 :(得分:0)

在javascript中:

/* $.post('/producten', {bg_image:bg_image}); */
this.href = this.href + '?bg_image=' + escape(bg_image)

在php中:

if(isset($_GET['bg_image'])) {
  $_SESSION['bg_image'] = $_GET['bg_image'];
  header('Location: /producten');
  exit;
}