我有这个网站,我可以作为登录或匿名用户与网站进行交互。当我点击一个链接我叫一个Ajax功能:在ajax调用之前创建会话
您点击这里:
<a id="alcrearuta" class="'.$row->urlamigable.'" href="#">añadir a ruta</a>
这是我的AJAX功能:
var valor=$("#alcrearuta").attr('class');
$("#alcrearuta").click(function(){
$.ajax({
type: "GET",
url: "../ajax/ruta.php",
data: "urlamigable=" + valor,
dataType: 'html',
success: function(data) {
$("#listaruta").html(data);
}
});
});
的事情是我有两个选择:要么是记录用户点击链接,ruta.php在数据库上做了它的东西,考虑在会话中设置的用户标识,或者我有一个匿名用户想要做类似的事情。
在我ruta.php我:
if(!empty($_SESSION['Username'])){
//Insert stuff on DB
}else{
//I wish I could create the session here but I can't since it's an ajax call
}
我需要的是在链接的点击和AJAX功能结束时,我可以把我的$ SESSION [“用户名”]之间的某一点变量来获得一个新的值(因为用户它没有登录,它目前是空的,因此我插入数据库不工作)
为什么ajax会干扰初始化会话...只要服务器被隐藏,请求就是一个请求。 – prodigitalson 2011-05-31 14:54:56
他登录并看到这个东西,或者这是登录页面? – 2011-05-31 14:55:30
在你的屏幕上你没有登录后显示的用户名?如果是这样,你的javascript可以检查它,或者,通过PHP更改ajax调用,例如,通过会话写出不同的ajax javascript(取决于用户是否登录) – BugFinder 2011-05-31 14:56:30