2014-01-16 106 views
0

我已经开发的应用,基本上互动与服务器通过JSON API(不CORS请记住,您只是简单的Ajax请求服务器接受JSON格式后)浏览器处理的401个状态

现在我有这个功能,我需要注销用户,如果他/她的令牌/会话过期,这样我处理这个我呈现,如果是不会发生的响应头状态(令牌/会话过期)

现在我不能要理解的是,我渲染状态我排序重定向到当前位置

http://localhost:4005/payouts

在Chrome网络标题我看到这个

https://www.dropbox.com/s/vxv9ih0s0r7vumy/Screenshot%202014-01-16%2018.04.46.png

注意:临时列头显示

起初,我看,我认为它的铬指定的事情,但我看到在Firefox中发生的同样的事情

这是一个标准的行为,我什至经历了文件(RFC)如何网络浏览器处理状态码,并且说实话,我无法找到任何提及的事实,他们碰巧重定向如果某些挑战不符合

刚夫妇件事请求 1 AJAX请求+ JSON请求(不是CORS要求) 2.下面是我Request/Response

请求头

Request URL:http://localhost:4005/payouts/mark_as_paid.json 
Request Method:GET 
Status Code:401 Unauthorized 
Request Headersview source 
Accept:application/json, text/javascript, */*; q=0.01 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 
Connection:keep-alive 
Content-Length:1709 
Content-Type:application/x-www-form-urlencoded; charset=UTF-8 
Cookie:_minerva_session=BAh7CUkiD3Nlc3Npb25faWQGOgZFRkkiJWI2N2MyNDg5MTg5YjEzNmM2MGM2ZDM2MTNlYWEyNzc3BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVN3b3JvVTJCZzFkaU1xOWhKeTU0c2hPT2F6dVZzOEhvdStMWml1QUNQUW89BjsARkkiEWFjY2Vzc190b2tlbgY7AEZJIkVlMGVmODM3OGMxZDBlYTRmNGFiYTRhMzcyZGFkMGZiYzBlYTI5NGNkODYxOTRhOTk1NTYwYTA0MzliYTgyY2JmBjsAVEkiHHdhcmRlbi51c2VyLmRlZmF1bHQua2V5BjsAVFsHSSIJVXNlcgY7AEZACw%3D%3D--93e6c7c38e4798ca3a1fbe15485a22eba3f358a9 
Host:localhost:4005 
Origin:http://localhost:4005 
Referer:http://localhost:4005/payouts 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36 
X-Requested-With:XMLHttpRequest 

响应头

Cache-Control:no-cache 
Connection:close 
Content-Type:application/json; charset=utf-8 
Server:thin 1.6.1 codename Death Proof 
Set-Cookie:_minerva_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRkkiJWI2N2MyNDg5MTg5YjEzNmM2MGM2ZDM2MTNlYWEyNzc3BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVN3b3JvVTJCZzFkaU1xOWhKeTU0c2hPT2F6dVZzOEhvdStMWml1QUNQUW89BjsARkkiCmZsYXNoBjsARm86JUFjdGlvbkRpc3BhdGNoOjpGbGFzaDo6Rmxhc2hIYXNoCToKQHVzZWRvOghTZXQGOgpAaGFzaHsAOgxAY2xvc2VkRjoNQGZsYXNoZXN7BjoKYWxlcnRJIhNUb2tlbiBleHBpcmVkIQY7AFQ6CUBub3cw--a09dddd474e1201fec156c47d298e3189b6a4451; path=/; HttpOnly 
X-Request-Id:be146be842651831d3903ab0db99bc5e 
X-Runtime:0.016927 
X-UA-Compatible:IE=Edge 

JSON响应数据

{"error":"Token expired!"} 

回答