【发布时间】:2015-01-21 18:06:46
【问题描述】:
我有一个类似 localhost:8080/abc/v1/doc 的网址,当直接从浏览器地址栏点击这些响应标头时,它会返回一些 json
Response Headers
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(9.1.4.v20140401)
即使当我尝试从不同的域加载此 url 时,它也会引发以下异常:
No 'Access-Control-Allow-Origin' header is present on the requested resource
我还有一个疑问,REST API 客户端能够调用任何 URL,即使 请求的资源上不存在“Access-Control-Allow-Origin”标头 是不在场?
怎么做?
提前致谢
【问题讨论】:
-
“REST API 客户端”是什么意思?
-
当通过 ajax 而不是从地址栏点击时,它会返回什么响应头?您尝试了哪些不同的域?
-
Chrome 的高级 REST 客户端和 POSTMAN 插件,它们在内部调用 Ajax 请求只是为了调用 Rest api,它们如何绕过这个我在 localhost:8080/def/loadjson 中运行了一个 UI .jsp 并在那个 UI 中我有一个输入框,我在其中放置 localhost:8080/abc/v1/doc 并单击获取 json 并出现错误
-
从浏览器地址或通过 Postman/Advanced REST Client 调用时,响应头也是相同的
-
这些其他客户可能根本不关心 CORS。
标签: javascript ajax rest cross-domain