Я пытаюсь установить cookie с внешнего php на моем сайте. Я нашел этот вопрос, но он все еще не решен Set-Cookie в браузере с запросом Ajax через CORS
В основном мой PHP выглядит следующим образом.
<?php
ob_start();
setcookie("cookiename", "cookiedata", time() + 10000000, '/', false, false);
ob_end_flush();
header('Access-Control-Allow-Origin: *');
?>
Ответ заголовка выглядит так:
Access-Control-Allow-Orig... *
Connection Keep-Alive
Content-Length 0
Content-Type text/html
Date Wed, 01 Oct 2014 20:53:51 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
Set-Cookie cookiename=cookiedata; expires=Sun, 25-Jan-2015 14:40:31 GMT; path=/
X-Powered-By PHP/5.4.7
Я не вижу cookie на вкладке Firebug (ни с другими отладчиками браузера). Когда я console.log () все куки в javascript, он также не появляется. Так что я не знаю, может ли кто-нибудь помочь мне пройти через это. Благодарю.
Это работает для меня и распечатывает печенье:
<?php
ob_start();
setcookie("cookiename", "cookiedata", time() + 10000000, '/', false, false);
ob_end_flush();
header('Access-Control-Allow-Origin: *');
?>
All cookies: <p id="cookies"></p>
<script>
document.getElementById('cookies').innerHTML = document.cookie;
</script>
Или вы запрашиваете URL через AJAX и ожидаете прочитать файлы cookie в файле document.cookie, запущенном в родительском документе?
Других решений пока нет …