不允许带有预检响应的CORS错误405方法没有HTTP正常状态

时间:2018-10-03 06:33:17

标签: php vuejs2 lumen

我一直在尝试使用Vue中的axios在流明内调用我的API,但是由于CORS,它会发送options方法代替post。

这是我的请求详细信息

常规

Request URL: http://192.168.1.100/lv_api/code/login

Request Method: OPTIONS

Status Code: 405 Method Not Allowed

Remote Address: 192.168.1.100:80

Referrer Policy: no-referrer-when-downgrade

Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token, X-
Requested-With

Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS

Access-Control-Allow-Origin: http://192.168.1.100:8000

Allow: POST

Cache-Control: no-cache, private

Connection: close

Content-Type: text/html; charset=UTF-8

Date: Wed, 03 Oct 2018 06:22:56 GMT

Server: Apache/2.4.18 (Ubuntu)

Accept: */*

Accept-Encoding: gzip, deflate

Accept-Language: en-GB,en-US;q=0.9,en;q=0.8

Access-Control-Request-Headers: content-type

Access-Control-Request-Method: POST

Connection: keep-alive

Host: 192.168.1.100

Origin: http://192.168.1.100:8000

User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

尝试设置标题,但我不确定要为该问题设置的适当值。

如果我在我的API中为Options请求创建了一个方法,那么它可以正常工作,但这不是正确的解决方案。

谢谢。

2 个答案:

答案 0 :(得分:1)

仅在我的api代码中添加以下行即可解决该问题

header('Access-Control-Allow-Origin: your origin');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age:86400');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token,  Accept, Authorization, X-Requested-With');

答案 1 :(得分:0)

您可以安装spatie / laravel-cors解决此问题