0

我是否必须做类似的事情var session = "<?php = $_SESSION['sessionname'] ?>";
或者是否有一个 jquery 语句呢?

我希望能够使用 jquery 检查会话是否存在

我需要这样做,因为当用户输入他的用户名时,ajax 会加载一个 php 文件来验证它。如果电子邮件不匹配,此 php 将启动会话。我尝试了 JSON,但它似乎对我不起作用。

我也很高兴听到任何其他解决此问题的方法:)

4

2 回答 2

0

php会话在服务器端,而不是在客户端。以下是另一种方法...

您可以使用以下插件 https://github.com/AlexChittock/JQuery-Session-Plugin

// To Store
$(function() {
    $.session.set("myVar", "value");
});


// To Read
$(function() {
    alert($.session.get("myVar"));
});
于 2013-05-02T04:55:41.277 回答
0
data = {
    action: "session"
}

$.ajax({
    type: "POST",
    dataType: "json",
    url: ajaxurl,
    data: data,
    success: function (json) {
        console.log(json.sessionvalue);
        if(json.session == "true"){
           // code here
        }
    }
});

在php方面

if(isset($_POST['action']) && $_POST['action'] == 'session'){
  session_start();
  return json_encode(array("sessionvalue" => $_SESSION['mysessionvar']));
}

您还可以分配多维数组

$array = array("sessions"=>array('value1', 'value2', 'value3'), 'numbers'=>array(0,5,6,8));

return json_encode($array);

可以使用 json.sessions[0] 等检索值。

当您提交 ajax 调用时,您应该始终使用控制台

于 2013-05-02T05:09:59.440 回答