vue.js - VueJs - 在页面重新加载之前等待 OPTION 响应
问题描述
当用户关闭或刷新页面时,我正在尝试向后端发出 put 请求。我已经添加了事件监听器,当这些事件发生时我可以运行我的函数。但我的问题是,当这些函数发送一个 put 请求时,它们首先发送一个 option 请求,然后发送 put 请求。这对我来说是个问题,因为当我检查后端日志时,我看到服务器收到了选项请求(并获得 200 状态代码),但 put 请求没有。
这是我的代码:
<template>
<div id="app">
App
</div>
</template>
<script>
import axios from "axios"
export default {
name: "App",
mounted() {
window.addEventListener("beforeunload", this.reload)
},
methods: {
reload() {
this.sendRequest()
},
sendRequest() {
axios.put("http://xxxx:pp")
}
}
}
</script>
<style scoped>
</style>
解决方案
一种简单的解决方法是使用post
而不是完全put
避免options
请求。来自MDN:
跨站点请求是这样预检的......如果:
- 它使用 GET 或 POST 以外的方法
如果您不想这样做,则需要options
通过提供 CORS 标头来处理后端服务器的请求。
推荐阅读
- c++ - 如何使用成员数据类型 unsigned __int128 序列化结构(使用 gcc)
- classification - 如何使用 H2o Python 获得最佳分类阈值
- ios - 如何为 App Store Connect 审核创建一个虚拟帐户
- javascript - 有没有办法只调整 Chart.js 中图表标题的底部填充?
- mysql - 在 ubuntu 中启动 apache2 服务器时出错
- laravel - Laravel Eloquent hasOneThrough 关系
- wordpress - 没有内容时不显示任何内容
- javascript - 用于上传图片的 Vue JS“道具变异”
- deep-learning - 两个相同的 GPU,但在深度学习中的表现不同
- revit-api - Revit 2020 API - 在家庭文档打开和激活后家庭文档活动视图返回空值