Php 会话和jQuery
我有一个网站,我正在建设一个主要的前端在域名(它还没有在生产-所以希望细节不需要)。在client.domain.com上有一个客户计费网站 计费系统是经过编码的——我对它几乎没有控制权,但是有一个很好的API 我试图通过jQuery从该客户机区域获取一些信息,以显示在前端。令人费解的是,这在两天前才起作用,现在已经停止了 我用来获取所需内容的jquery很简单:Php 会话和jQuery,php,jquery,session,Php,Jquery,Session,我有一个网站,我正在建设一个主要的前端在域名(它还没有在生产-所以希望细节不需要)。在client.domain.com上有一个客户计费网站 计费系统是经过编码的——我对它几乎没有控制权,但是有一个很好的API 我试图通过jQuery从该客户机区域获取一些信息,以显示在前端。令人费解的是,这在两天前才起作用,现在已经停止了 我用来获取所需内容的jquery很简单: $(document).ready(function(){ $.get("client/loginchec
$(document).ready(function(){
$.get("client/logincheck.php", function(data){
$('#dynamicsidebar').append(data);
});
});
现在-我调用的页面(logincheck.php)位于站点的客户端区域。就目录结构而言,它位于前端的webroot下-在client/目录中,因此我可以使用相对路径调用它
目前,出于调试的目的,我只是简单地包含了计费信息的必需文件(我已成功登录)。然后,我打印$u会话数组的输出,该数组由计费系统(编码代码)填充,然后退出:
client/logincheck.php的代码
require("dbconnect.php");
require("includes/functions.php");
require("includes/clientareafunctions.php");
print_r($_SESSION);
die();
如果我在浏览器(client.domain.com/logincheck.php)中直接浏览到该URL,我会得到以下输出:
Array ( [calinkupdatecc] => 0 [calinkupdatesq] => 0 [uid] => 1 [upw] => a49de38fe12d325feb11bc9be1762482 [cainvorderby] => status [cainvsort] => DESC [cadomorderby] => domain [cadomsort] => ASC [caemailsorderby] => date [caemailssort] => DESC [caprodorderby] => product [caprodsort] => ASC )
这就是我所期望的
但是,从前端开始,div只附加了一个空数组:
Array()
如果jQuery正在工作,那么它应该是会话数组,不是吗
如果这是相关的-我的php.ini文件中有session.cookie\u domain-.domain.com设置
谢谢你的帮助
**编辑**
我将client/logincheck.php中的代码替换为:
if ($_SESSION['uid']) {
echo "Logged In";
} else {
echo "Not logged in";
}
die();
现在奇怪的是——我直接浏览到页面,然后在屏幕上得到“登录”输出。在前端,我听到“未登录”的回声
那么,直接访问URL如何显示有效的会话,而使用GET检索页面如何显示其他内容呢?我不知道每个人说的“正确”答案,但我首先要尝试以下方法:
$.get
方法试图智能地猜测返回的数据类型,除非您填写该参数[1]。我不是100%确定这可能与它有什么关系,但如果它认为它正在返回一种不同的数据类型,那么可能在幕后发生了一些奇怪的事情
我还建议查看实际的响应标题,这样您就可以看到实际返回的内容。我在后端做了类似的事情,我得到了一个对象数组,所以当我附加响应时,它输出array
正如我所说,这只是一个起点,我需要查看代码以更好地帮助您
[1] jQuery$.get documentation:我不知道每个人说的“正确”答案,但我首先要尝试的是:
$.get
方法试图智能地猜测返回的数据类型,除非您填写该参数[1]。我不是100%确定这可能与它有什么关系,但如果它认为它正在返回一种不同的数据类型,那么可能在幕后发生了一些奇怪的事情
我还建议查看实际的响应标题,这样您就可以看到实际返回的内容。我在后端做了类似的事情,我得到了一个对象数组,所以当我附加响应时,它输出array
正如我所说,这只是一个起点,我需要查看代码以更好地帮助您
[1] jQuery$.get documentation:我从未尝试过向jQuery发送php数组。您确定jquery可以从结构上理解它吗?也许可以尝试用json编码?如果您认为json可能有所帮助,下面是一个json示例。您是否尝试过使用FireBug查看您的Javascript是否有问题?也许您只需要在
打印之前使用会话启动()
?大家好-谢谢-我将在下面添加相同的评论。我已经编辑了上面的帖子,显示用简单文本替换输出。问题似乎是GET查询没有显示会话数组集。我从未尝试过向jquery发送php数组。您确定jquery可以从结构上理解它吗?也许可以尝试用json编码?如果您认为json可能有所帮助,下面是一个json示例。您是否尝试过使用FireBug查看您的Javascript是否有问题?也许您只需要在打印之前使用会话启动()
?大家好-谢谢-我将在下面添加相同的评论。我已经编辑了上面的帖子,显示用简单文本替换输出。问题似乎是GET查询没有显示会话数组集。看看这是否给了你一些想法?我唯一能说的就是检查你2天前的源代码管理,看看有什么变化。您的会话.cookie\u参数设置正确,可以处理子域,因此绝对不是这样。不过,我需要查看完整的代码,因为听起来您的会话正在被覆盖。您是否编辑了该文件中的全部代码?如果不是的话,那就是那个街区上面的东西。也许可以检查一下传入的XMLHttpRequests是否得到了不同的处理?嗨,我在问题的底部添加了一个编辑,以排除数据复杂性因素。看看这是否给了你一些想法?我唯一能说的就是检查你的源代码管理