vue.js关于跨域问题,请教各位 10C

我在本地运行vue.js前端请求接口,get,post,put,delete这四种请求都可以访问
,但是把vue项目打包发布,用nginx做代理转发,再访问vue.js项目,put和delete请求都不可以访问。错误:has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

2个回答

/* eslint-disable */
<template>
  <div class="hello" style="background: fuchsia">
    <h1>您登陆{{ msg }}</h1>
    <button v-on:click="showDetails">获取20服务器上接收所信息</button>
  </div>

</template>

<script>
export default {
  name: 'hello',
  data () {
    return {
      msg: ''
    }
  },
  methods: {
    showDetails: function () {
      this.$http.post('api/RMSClient/useradmin/login?password=d90b21c4a61992ff330bade33e84633d&userName=444').then(function (res) {
        console.log(res) // 返回很多的数据,比如执行状态,url,data等等
        console.log(res.data)// 返回的json数据
        console.log(res.data.message)// json对象里面的信息
        this.msg = res.data.message
      })
    }
  }
}
</script>

https://blog.csdn.net/nihaoqiulinhe/article/details/79082752

put和delete请求会在请求之前先发送一个options请求导致失败。大概是因为options没有被反向代理。解决方法如下:在接口反向代理的配置中对options单独处理直接返回成功。
location / {
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
return 200;
}
proxy_pass http://;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问