POST request with AngularJS fails with preflight OPTION status code = 404 with CodeIgniter ResetServer
我的前端应用程序在端口
当我向
我已经在 apache 配置中添加了
1 2 3 | Header set Access-Control-Allow-Origin"*" Header set Access-Control-Allow-Headers"X-Requested-With, accept, content-type" Header set Access-Control-Allow-Methods"PUT, GET, POST, DELETE, OPTIONS" |
```
并重新启动服务器,但仍然出现问题。
我应该在
正如我在关于这个"问题"#313 的
应用广泛
我从 Phil Sturgeon 的 Codeigniter Restserver 和 Backbone.js 中的 HTTP OPTIONS 错误中找到了解决方案,即从
的值列表中删除
1 2 | // protected $allowed_http_methods = array('get', 'delete', 'post', 'put', 'options', 'patch', 'head'); protected $allowed_http_methods = array('get', 'delete', 'post', 'put', 'patch', 'head'); |
资源集中
另一种解决方案是简单地实现
由于打字错误(它的
1 2 3 | public function index_options() { return $this->response(NULL, 200); } |
现在预检
是的,您必须添加
我遇到了同样的问题,只有当我添加了与我的 POST 方法具有相同参数的 OPTIONS 方法时它才起作用。
就我而言,这是路由问题。
我所做的是覆盖 404 路由。之后,请求通过路由,剩下的服务器完成所有剩下的工作。
这是我放在routes.php中的:
1 | $route['404_override'] = 'auth/options'; |