整个站点都是用cookie来验证用户是否合法。如$_COOKIE["ad_uid"]
如果页面中$_COOKIE["ad_uid"];为空值则跳出,
所有的页面都正常的,如果这个文件是如ajax.php ajax来处理数据的话
上面的$_COOKIE["ad_uid"]值永远是空的,所以执行不来,很怪,一台服务器有这个cookie值,一台服务器则无,
所以想问一下,是不是ajax在这个cookie值中是取不到的。

解决方案 »

  1.   

    一台服务器有这个cookie值,一台服务器则无是不是跨域了?
      

  2.   

    没有,同样的程序在二个服务器用,我不知道ajax是不是本来就不接收这样的cookie的,是不是php配置不一样的关系,来验证一下。不想走太多的弯路。
      

  3.   

    没明白你说的ajax取cookie是指js取不到cookie,还是ajax去请求的php页面取不到cookie。如果是后者的话,肯定涉及跨域问题,注意,如果两台服务器是二级域名不同,你必须把cookie的path设置为/,domain设置为.domain.com。如果域名完全不同,那只能用那个jsonp的解决方案了。如果是前者,肯定是你的js代码有问题。
      

  4.   

    这样子解释吧
    我们在每个页面中开始部分都include 如 pd.php这样的文件,里面写了 $_COOKIE["ad_uid"] 如为空,则程序终止,这样的来验证当前页的用户是否合法,如manage.php 
    现在呢,这个数据是通过 ajax来提交 ,ajax写入数据库的那个文件如 ajax.php 这个文件也include了pd.php这个文件。 
    现在问题是,只要提交数据就被终止了,后来是发现 ajax.php这个文件中的 $_COOKIE["ad_uid"] 为空了,所以来求证一下,ajax 中的 cookie是不是不能像普通文件这样子操作的。
      

  5.   

    你的问题是在JS中应该取值吧,上面几位不说了吗,你是在ajax 中没有取到cookie的值吧!!自己alert一下,cookie全是存在本地的,两个服务器,应该也不是这个问题的!
      

  6.   

    好像你的意思是通过ajax取出之后,在后台处理,然后是不是又存到cookie里了吧,这个是用来check 用户是否登陆,
      

  7.   

    也就是这样子的,ajax.php这个文件在写入数据库时,发现$_COOKIE["ad_uid"] 为空了,就直接退出了,就搞不明白了
      

  8.   

    现在发现是这样子的,如果在中文目录下操作cookie值收不到,英文目录下正常,怪啊。而二台服务器刚好一台用中文文件夹,一台是英文文件夹,哎
      

  9.   

    我也不知道xmlhttprequest在send的时候是否send cookie