jquery / javascript 根据会话加载不同的内容
jquery / javascript Load different content depending on session
嘿伙计们,我这里有这段代码:
$('#internet').click(function(e){
e.preventDefault();
$.ajax({
url: "ajax/sessionset.php",
success: function (data){
if (data == 1){
$.ajax({
type: "POST",
//add variables
url: "ajax/loggedin.php",
success: function(data2){
//history.pushState({"internet.php?view=internetlog");
$('#internetlog').html(data2);
}
});
}
else if(data===0){
alert("suka");
}
}
});
});
会话集.php 返回值 1 或 0,具体取决于会话当前是否正在进行。
这里的问题是链接 $('#internet'(当数据值为 1 时.php返回登录的 URL。但是,如果数据值为 0,则不会发生任何反应,因为 e.preventDefault((;防止任何事件。
已经在 firebug 上检查过它返回的值为 1 或 0,我不明白为什么当返回的值为 0 时警报没有触发......
编辑:刚刚检查了会话集.php在单独的窗口中而不是Firebug
<?php
session_start();
if (!empty($_SESSION['origuserip'] && $_SESSION['loggedin'])){
$switch = "1";
}
else {
$switch = "0";
}
echo $switch;
返回值 1 为 1,但如果 !empty 为 false,则返回
Notice: Undefined index: origuserip in ajax'sessionset.php on line 4
0
溶液:
猜最简单的方法就是最好的方法-_-
else {
("suka");
}
脚本返回值可能是一个字符串,因为您没有指定 AJAX 调用的返回类型。
您应该像这样验证:data==="1"
和data==="0"
。检查身份,只要您确定返回字符串即可。
data==1
总是true
,如果它被设置而不是null
。
关于另一个问题:
确保在检查$_SESSION
变量的索引时正确设置empty()
检查。例如像这样:
if (!empty($_SESSION['origuserip']) && !empty($_SESSION['loggedin'])){
$switch = "1";
}
else {
$switch = "0";
}
echo $switch;
相关文章:
- 使用Jquery在页面加载上测试php会话变量
- 如何在Ruby on Rails会话过期时重新加载或刷新页面
- 每个用户/浏览器会话只加载一次Javascript
- 如何生成一个唯一的链接,该链接将加载一个会话,其中包含客户端可用的某些文档
- 流星铁路由器 - 如何等待(使用加载模板)一个会话.get
- 会话存储未保存或未加载
- 有时会加载旧的 PHP 会话变量
- 在 chrome 中使用会话和本地存储时未加载 Angular JS 页面
- 弹出式:每个会话和加载仅一次
- 重新加载页面后会话变量为空
- 检查Facebook会话加载
- 将会话变量发送到另一个从未加载的 PHP 页面
- jquery / javascript 根据会话加载不同的内容
- 打开新窗口并从父窗口加载CSS和js,还可以共享会话
- 加载php文件,以获得我的会话使用javascript
- 在会话中传递所选国家(下拉)的值,然后重新加载当前页面(Rails 4)
- 限制名称和日期js cookie每次会话只加载一次
- 使用Javascript为整个会话加载网站字体
- 会话值不是在JSP页面中更新,而是在页面重新加载后更新
- 在Backbone JS中保持跨页面重新加载会话