ajax请求标头字段Access-Control-Allow-Headers不允许使用Content-Type

时间:2014-08-14 08:04:06

标签: ajax angularjs codeigniter http http-headers

所以我在d2.websta.me上有我的开发服务器,还有另一个网址https://websta.me,我有后端函数,我想在d2.websta.me中使用

我在后端使用codeigniter,在前端使用angularjs

header('Access-Control-Allow-Headers: X-Requested-With,Origin,Accept');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Headers: Authorization');
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
header('Access-Control-Allow-Origin: https://websta.me');

我已经放了这么多标题,但我仍然收到错误内容类型不被access-control-allow标头允许..

我做错了什么吗?或者我是否必须编辑这些标题?或者我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

从php端 - >后端服务器 标题(' Access-Control-Allow-Origin:your-front-end-url-here');

从角侧

返回$ http({                         标题:{'内容类型':' application / x-www-form-urlencoded'},                             url:'你的后端 - 网址 - 这里',                             方法:" POST",                             数据:$ params                         })

应该有效

答案 1 :(得分:0)

如果您尝试将请求从一个域发送到另一个域,则应使用curl而不是您在同一域的请求中使用的常规请求。 在你的情况下,它是两个不同的领域。

更新:它用于服务器 - 服务器请求。 你能在这里发布你的ajax代码吗?

答案 2 :(得分:0)

我之前提到的方式实际上在两个不同的域之间起作用。

我的前端位于domain.com上,后端位于我的backenddomain.com上 并且发送和接收数据没有问题。对于从前端到后端API的调用,您不需要卷曲 - >它不是2台服务器上2个php脚本之间的连接。实际上,即使这样卷曲也不是绝对必要的。