我的图像超链接为:
<a id="register" href = "javascript:void(0)"
data-fancybox-group="gallery"><img src="<cms:show my_image_thumb />" alt="" class="fade"></a>
我有一个getsession.php
类来获取会话变量:
<?php
session_start();
if(isset($_SESSION['logged_in']))
echo "1";
else
echo "0";
?>
我想在点击图片时阅读会话变量值。我试图这样做:
<script type="text/javascript">
$(document).ready(function(){
$("#register").click(function(){
$.ajax({
url:'getsession.php',
cache:false,
success:function(data){
// Do something with the result
if(data=="1"){
window.location = "www.google.com";
}else{
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
document.getElementById('fade').scrollIntoView(true);
}
}
});
});
});
</script>
但是,单击图像时没有任何效果。有什么指针吗?
答案 0 :(得分:0)
首先,确保记录(console.log('button clicked');
)该函数已输入,然后在响应到达时记录数据(console.log(data);
)。
另外,只需在浏览器中打开它,检查php脚本是否正常工作。
顺便说一下,window.location
应该分配一个绝对网址
window.location = "http://www.google.com";
答案 1 :(得分:0)
有可能你的php文件没有放在合适的位置。尝试直接从url运行该文件。如果设置了会话,它应该打印1。然后,尝试将网址更改为http://localhost/getsession.php
等文件的绝对网址。
答案 2 :(得分:0)
试试这个:
PHP:
<?php
session_start();
if(isset($_SESSION['logged_in']))
echo "1";
else
echo "0";
?>
JS:
$.ajax({
url:'http://localhost/getsession.php',
cache:false,
type: 'POST',
success:function(data){
// Do something with the result
alert("ajax call success returns: "+ data);
if(data=="1"){
window.location.href = "http://www.google.com/";
}else{
window.location.href = "http://www.stackoverflow.com/";
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Error Code: " + jqXHR.status + ", Type:" + textStatus + ", Message: " + errorThrown);
}
});