如何在没有指定用户请求的情况下将Ajax数据发送给指定用户

时间:2015-08-19 09:49:46

标签: php ajax

考虑用户成功执行登录操作。现在我有来自指定用户的会话,如下所示:

$_SESSION['login_user'] = $username;

我在互联网上搜索了这个问题,我明白我应该使用Ajax。我看到了link,但我无法理解应该使用哪种方法将数据发送给指定的用户。

2 个答案:

答案 0 :(得分:0)

$ _ SESSION 变量是全局可用的,因此您只需在呈现要显示消息的页面的文件中使用它。 只有在用户登录后才想避免页面重新加载时,才需要通过Ajax进行请求。

作为view.php中的一个例子:

echo 'Welcome back'.$_SESSION['login_user'].'!';

答案 1 :(得分:0)

您可以通过回显将数据(从服务器)发送回客户端。 例如,您可能希望从服务器获取日期时间以防止客户端篡改它:

服务器(假设将返回json)

$datetime = new Datetime();

$res = array(
    'date' => $datetime->format('d-m-Y'),
    'hour' => $datetime->format('H'),
    'minutes' => $datetime->format('i'),
    'seconds' => $datetime->format('s'),
);

echo json_encode($res);

客户端(假设将使用jquery)

$.ajax({
            url: 'url_to_the_above_file.php',
            type: 'post',
            data: { // dummy post data that can be read server-side
                action : 'some value',
            },
            dataType: 'json',
            beforeSend : function() {
                //some action BEFORE send here
            },
            success: function(data, textStatus, jqXHR){
                //here is your response from the server
                console.log(date);
                console.log(hour);
                console.log(minutes);
                console.log(seconds);
            },
            error: function(data) {
                console.log("we are in error");
                console.log(data);
            },
            complete: function() {
                //some action AFTER send here
            }
        });