logout(){
var destroySession='{"token":"'+this.token+'"}'
console.log("Session Destroy"+destroySession)
axios.post(eventBus.apiURL+'logout',{
headers: {
'Content-type': 'application/json',
},
body: destroySession,
}).then(response=>{
console.log("RESadas :: "+JSON.stringify(response.data))
alert("Logout successfully..!")
this.$router.push('/')
},error=>{
console.log(error);
alert("Some Issue for LogOut at Server Side..!")
});
window.localStorage.removeItem('token')
window.localStorage.removeItem('name')
this.$router.push('/')
}
<button @click="logout">Logout</button>
我已在vuejs
中编写了注销代码,但在点击时它发送了两个POST
请求,并且在会话期间,服务器端发生了销毁问题。
答案 0 :(得分:0)
预检请求
与“简单请求”(如上所述),“预检”请求不同 首先通过OPTIONS方法向资源发送HTTP请求 另一个域,以确定实际的请求是否 安全发送。跨站点请求是这样的预检,因为它们 可能会对用户数据产生影响。
特别是,如果满足以下任何条件,请求将被预检 条件是真的:
如果请求使用以下任何一种方法:
- 把
- DELETE
- CONNECT
- 选项
- TRACE
- PATCH
或者,除了自动设置的标题之外 用户代理(例如,Connection,User-Agent或任何 其他标头,在Fetch规范中定义的名称为“禁止使用” 标题名称“),请求包括除那些之外的任何标题 Fetch规范定义为“CORS-safelisted request-header”, 以下是:
- 接受
- 接受语言
- 内容的语言
- 内容类型(但请注意以下附加要求)
- DPR
- 下行链路
- 保存数据
- 视口宽度
- 宽度
或者,如果Content-Type标头有 除以下值之外的其他值:
- 应用程序/ x-WWW窗体-urlencoded
- multipart / form-data
- 文本/纯
<强>更新强>
请阅读有关如何停用预检请求的答案:Link