如何处理OPTIONS的飞行前请求?

时间:2018-12-28 05:59:17

标签: php cors axios

我已经尝试了stackoverflow.com上几乎所有可用的解决方案,但是它们似乎都不适合我的用例。

我正在开发一个简单的API(在PHP中),该API使用基于令牌的身份验证系统(使用JWT)。 然后,我通过Axios和Vue使用该API。

每次我在设置了Authorization标头的情况下发出请求时,都会收到以下响应:

OPTIONS http://localhost/api/album/ 400 (Bad Request)

Access to XMLHttpRequest at 'http://localhost/api/album/' from 
origin 'http://localhost:8082' has been blocked by CORS policy: 
Response to preflight request doesn't pass access control check: 
It does not have HTTP ok status.

我尝试按照其他答案中所述设置适当的标题。

我在.htaccess中有这两行(到目前为止):

Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, PUT, DELETE"

我尝试使用PHP的header()设置上述标题。

什么都没有。

到目前为止,我正在index.php中使用此代码块来处理此错误。

if($request_method == 'OPTIONS'){
    http_response_code(200);
    return;
}

这是合适的解决方案吗?这是我第一次听说CORS。任何帮助都会很棒:)

谢谢。

0 个答案:

没有答案