【问题标题】:CORS, want to get the JSON from different domainCORS,想从不同的域获取 JSON
【发布时间】: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


【解决方案1】:

本地主机也有同样的问题。通过将插件更改为“RESTClient”(对于 Firefox webbrowser https://addons.mozilla.org/pl/firefox/addon/restclient/)解决了问题。

【讨论】:

    猜你喜欢
    • 2018-11-29
    • 2017-12-27
    • 2019-06-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 2020-11-06
    相关资源
    最近更新 更多