Jquery 401状态下的浏览器处理
我一直在开发一个应用程序,该应用程序基本上通过json api与服务器进行交互(不是CORS请求,请记住,您只需简单地向服务器发送ajax请求,并接受json格式) 现在我有了这个功能,如果一个用户的令牌/会话过期,我需要注销他/她的令牌/会话,如果发生这种情况,我将在响应头中呈现401状态(令牌/会话过期) 现在我无法理解的是,我呈现了401状态,我有点被重定向到当前位置Jquery 401状态下的浏览器处理,jquery,json,http,status,http-status-code-401,Jquery,Json,Http,Status,Http Status Code 401,我一直在开发一个应用程序,该应用程序基本上通过json api与服务器进行交互(不是CORS请求,请记住,您只需简单地向服务器发送ajax请求,并接受json格式) 现在我有了这个功能,如果一个用户的令牌/会话过期,我需要注销他/她的令牌/会话,如果发生这种情况,我将在响应头中呈现401状态(令牌/会话过期) 现在我无法理解的是,我呈现了401状态,我有点被重定向到当前位置 http://localhost:4005/payouts 在Chrome网络标题上,我看到了这个 注意:显示临时标题
http://localhost:4005/payouts
在Chrome网络标题上,我看到了这个
注意:显示临时标题
一开始,我觉得它的chrome浏览器很特别,但我在Firefox中也看到了同样的事情
这是一种标准行为吗?我甚至查阅了有关web浏览器如何处理状态代码的文档(),说实话,我找不到任何地方提到,如果某些挑战没有得到满足,它们会发生在重定向上
还有一件事,我的要求是
1.Ajax请求+JSON请求(不是CORS
请求)
2.下面是我的请求/响应
标题
请求头
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!"}
401响应并不意味着任何类型的重定向
(顺便说一句,相关规范是)同意我知道
401
并不意味着重定向,因此我不确定重定向发生的原因Dropbox链接已失效。这就是为什么图像应该被插入到文章中的原因。