【发布时间】:2015-07-10 08:10:24
【问题描述】:
我有 2 个子域:main.example.com 和 api.example.com
两者都坐在同一台机器上。
我正在尝试从 main.example.com 向 api.example.com 发送 PUT/DELETE 请求,但它不会让我来做。
响应标头,来自 api.example.com:
Access-Control-Allow-Origin: http://main.example.com
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
这是提出请求的方式:
$.ajax({
url: 'https://api.example.com/script.cgi',
type: 'PUT',
success: function(result) {
// Do something with the result
}
});
它给我一个错误: 跨域请求被阻止:同源策略不允许读取位于https://api.example.com/script.cgi 的远程资源。这可以通过将资源移动到同一域或启用 CORS 来解决。
我该如何解决这个问题?我浪费了一整天的时间试图修复它,但没有成功。
附:在 chrome 和 firefox 中不起作用。
【问题讨论】:
-
尝试添加
access-control-allow-headers标头 -
我必须添加哪些标题?
-
试试
origin,content-type,accept,x-requested-with
标签: jquery ajax rest http cors