怎样处理el-upload上传文件跨域问题
Lasted 2020-03-14 16:29:13
在使用 el-upload 组件上传文件时遇到跨域问题:
Vue CLI 项目在本地运行,服务器在另外一台机器上,会遇到跨域问题。
点击上传图片按钮,在 Console 中出现两条错误信息,如下所示:
注意:Access to XMLHttpRequest at 'http://file.example.com/api/upload' from origin 'http://127.0.0.1:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
注意:VM8745:1 POST http://file.example.com/api/upload net::ERR_FAILED
已经添加了 Allow Origin 不过还是不能解决问题:
Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization Access-Control-Allow-Methods: POST,GET,OPTIONS,DELETE Access-Control-Allow-Origin: *
解决方法:
需要处理 OPTIONS 方法,PHP 代码如下所示:
<?php
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') exit(0);