我使用codeigniter作为后端和ANGULAR 4作为基于REST的前端客户端。问题是每个请求都发送两次ONE使用OPTION而其他请求使用GET或POST。
控制台网络标签的屏幕截图。
我在控制台中为每个其他API请求得到了这个,一旦我第一次成功登录api。如何停止额外的OPTION请求,因为我的服务器没有编码来处理此请求。我知道它必须使用预检请求选项,我不知道如何解决它。
更新
由于设置了以下自定义标题,我正在使用其他OPTIONS请求进行触发。
this.headers.append('sessionname','7datfaaj6slo7p7htubtutn970l20lfd');
现在,我在服务器端启用了CORS,并将此条件设置为OPTIONS请求的正确输出。
$method = $_SERVER['REQUEST_METHOD']; if($method == "OPTIONS") { die(); }
所以它工作正常,但现在我的问题是它是完美的方式来处理这个恼人的OPTIONS请求吗?
答案 0 :(得分:1)
如下面的答案所述,发送OPTIONS的不是REST客户端,而是浏览器,因此您最好更新服务器端代码以满足浏览器的需求。
答案 1 :(得分:-1)
您可以使用此插件:CORS Chrome Extension