【发布时间】:2010-11-28 02:52:37
【问题描述】:
当我在 JQuery 中对外部域使用 getJSON 时,发出的请求不包括该域的 cookie。我将它用于我正在编写的分析脚本,我需要在脚本运行的外部域上设置一个 cookie,以便跟踪唯一访问者。
文件
domain1.com/website.html
domain2.com/tracker.js
//获取用户信息 info = "(这里是关于用户的一些事情)"; //使用JSON发送数据 $.getJSON("http://domain2.com/getdata.php?"+info, 函数(数据){} );domain2.com/getdata.php
/****** * 代码保存数据和东西 *******/ //获取当前的cookie(如果有的话)。 $current_tid = $_COOKIE['tID']; //检查cookie是否为50个字符的字符串 如果 (strlen($current_tid)==50){ $TrackerID = $current_tid; //如果cookie已经有一个唯一的字符串,那么就使用它! } 别的 { $TrackerID = random_gen(50); //生成一个新的50个字符的随机字符串 } //使用唯一变量 $TrackerID 设置 cookie "tID" setcookie("tID",$TrackerID,time()+60*60*24*365);所以,当用户在 server1 上加载 website.html 时,用户也会在 server2 上加载 tracker.js,它将一些带有 JSON 的数据发送到 getdata.php。但是,该脚本不会发送 cookie,并且每次加载脚本时 getdata.php 都会生成一个新字符串。
有没有办法使用 JSON 发送 cookie?
【问题讨论】:
-
通过打印整个 cookie 数组 (print_r) 来检查问题是否实际上是 cookie,或者是否是其他问题