我有一个托管在实时服务器上的项目,其域名如下:www.abc.com
在实时域上:我无法在 IE(7、8、9、10)中设置 cookie - 如下面的代码所示 -(IE 浏览器上启用了 cookie),但可以在 Firefox、Chrome、Opera 和 Safari 中设置 cookie,没有任何问题。服务器时间正确(约旦当前时间)
在本地主机上:Cookie 在所有浏览器上均可完美运行!
我的代码解释如下:
在页面“localhost/test.php”中,我放置了下面的代码来读取实时服务器中 show.php 的内容:
<?php foreach (file('http://abc.com/api/show.php') as $o) echo $o ?>
在页面中http://abc.com/api/show.php:
<script>
function hookscript(url){
var s = document.createElement("script");
s.type = "text/javascript";
s.src = url || null;
document.getElementsByTagName("head")[0].appendChild(s);
}
hookscript('http://abc.com/aj/ajax.php?part=1');
</script>
在页面中http://abc.com/aj/ajax.php:
function hookscript(url){
var s = document.createElement("script");
s.type = "text/javascript";
s.src = url || null;
document.getElementsByTagName("head")[0].appendChild(s);
}
<?php
$part = $_GET['part'];
?>
<?php
if($part==1){
?>
<?php setcookie('test',time(),time()+3600) ?>
hookscript('http://abc.com/aj/ajax.php?part=2');
<?php
}
if($part==2){
if(isset($_COOKIE['test'])){
?>
alert('Cookies SET');
<?php
}
else{
?>
alert('Cookies NOT SET'); // WHY!
<?php
}
}
?>
非常感谢您的提示!谢谢!
答案1
我已经解决了这个问题,很简单。IE 的隐私高级设置中没有启用第三方设置!