Когда я использую getJSON в JQuery для внешнего домена, сделанный запрос не включает файлы cookie для этого домена. Я использую это для своего сценария аналитики, который пишу, и мне нужно установить cookie во внешнем домене, где выполняется скрипт, чтобы я мог отслеживать уникальных посетителей.
Файлы
domain1.com / website.html
<script src="http://domain2.com/tracker.js"></script>
domain2.com / tracker.js
//Get information about the user
info = "(here's some things about the user)";
//Send data using JSON
$.getJSON("http://domain2.com/getdata.php?"+info,
function(data){}
);
domain2.com / getdata.php
/******
* Code to save data and stuff
*******/
//Get the current cookie (if any).
$current_tid = $_COOKIE['tID'];
//checks if the cookie is a string of 50 characters
if (strlen($current_tid)==50){
$TrackerID = $current_tid; //If the cookie already have a unique string, then use it!
} else {
$TrackerID = random_gen(50); //Generates a new random string with 50 characters
}
//Set cookie "tID" with the unique variable $TrackerID
setcookie("tID",$TrackerID,time()+60*60*24*365);
Итак, дело в том, что когда пользователь загружает website.html на server1, он также загружает tracker.js на server2, который отправляет некоторые данные с JSON в getdata.php. Однако скрипт не отправляет файлы cookie, и getdata.php будет генерировать новую строку каждый раз при загрузке скрипта.
Можно ли как-нибудь отправить куки с помощью JSON?