我试图在AJAX帖子后读取后端设置的cookie,我已经尝试了所有我能想到/遇到的补救措施,但我不知道我做错了什么。
这是一个从AJAX请求中获取Headers的代码片段。我更感兴趣的是看到了 那里有“Set-Cookie”标题,但不是。这段代码出了什么问题?
<?php
if ($_POST){
header('Content-Type: application/json');
setcookie('test_'.rand(),'cors');
echo json_encode(array(
'name' => 'Cors',
'server' => 'Local'
));
} else { ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
function post(){
$.post(null,{
xhrFields: {
withCredentials: true
}
}).done(function(a,b,options){
$('code').html(options.getAllResponseHeaders());
});
}
$(function(){
$('.post').click(post);
});
</script>
<a href="javascript:;" class="post">Send</a>
<hr></hr>
<strong>Response Headers</strong><br/>
<pre><code>---</code></pre>
<?php } ?>
答案 0 :(得分:0)
getAllResponseHeaders
州的XmlHttpRequest spec:
返回所有HTTP标头,不包括标头 Set-Cookie或Set-Cookie2的大小写不敏感匹配
这基本上意味着你不能这样做,至少就是这样。