我有一个Laravel5.4API,在Postman和浏览器中运行良好.Localhost运行良好——Laravel 5.4在一个端口上运行,而Vue在热部署模式下运行良好.

但是,当我将Vue代码移动到生产服务器时,会出现以下错误:

Response for preflight is invalid (redirect)

在Chrome开发者工具中,网络选项卡显示:

General

Request URL:http://backend-dev.xolas.io/api/v1/view/calendar/-30/90/
Request Method:OPTIONS
Status Code:301 Moved Permanently
Remote Address:217.182.66.247:80
Referrer Policy:no-referrer-when-downgrade

Response Headers

Connection:Keep-Alive
Content-Length:349
Content-Type:text/html; charset=iso-8859-1
Date:Mon, 10 Jul 2017 13:40:08 GMT
Keep-Alive:timeout=5, max=100
Location:http://backend-dev.xolas.io/api/v1/view/calendar/-30/90
Server:Apache/2.4.25 (Ubuntu)

Origin Headers

Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:access-control-allow-origin,authorization
Access-Control-Request-Method:GET
Connection:keep-alive
Host:backend-dev.xolas.io
Origin:http://localhost:8080
Referer:http://localhost:8080/
User-Agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Mobile Safari/537.36

我已经在Laravel上安装了CORS插件,但仍然没有乐趣.

我的axios config分如下:

axios.defaults.headers.common['Authorization'] = store.apiKey
axios.defaults.headers.get['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers.common['Access-Control-Allow-Origin'] = 'https://' + store.endpoint + ', http://' + store.endpoint

端点是Larvel API服务器,工作正常.

任何线索都会有帮助,因为我不知道如何解决这个问题.提前谢谢.

推荐答案

服务器正在从以下位置发送重定向:

http://backend-dev.xolas.io/api/v1/view/calendar/-30/90/

致:

http://backend-dev.xolas.io/api/v1/view/calendar/-30/90

删除请求中的尾随"/"会阻止301.(尽管该url的响应为500服务器错误.

Vue.js相关问答推荐

无法解析组件:google—pay—button

VITE:无法为VUE单文件组件加载URL

Vue ChildComponent (GrandchildComponent) 应该更新 ParentComponent 的列表

为什么我的数组在 onBeforeMount 函数中不为空,但在 onMounted 函数中为空

如何在FormKit中验证文本输入框中不能输入数字

如何 for each 动态创建的按钮/文本字段设置唯一变量?

如何使用 Vite 从公共目录导入 JSON 文件?

webpack vue-loader 配置

在 dom 内移动 Vue 组件?

如何渲染数组以 Select 选项 vue.js

Vue watch 意外调用了两次

是否可以在没有 Vue 的情况下使用 Vuex?

在 Vuejs 中Watch观察 window.scrollY 的变化

如何打破 vue.js 中的 v-for 循环?

vue 在 v-model 之后执行 @click

如何在 vue.js 中进行嵌入?

Vue 3 – 渲染无法动画的非元素根 node

如何使用vue js判断组件本身的数据何时发生变化?

vuejs 中缺少 webpack 配置

将它们分开时将 Django 的 csrf_token 放入 Vuejs