【问题标题】:"No Access Control Allow Origin" in AngularJSAngularJS中的“无访问控制允许来源”
【发布时间】:2016-02-19 18:49:41
【问题描述】:

我正在尝试开发一个网站,该网站从某个端点读取 JSON 响应并在某些处理后将其发布到页面。

我正在使用 $http.get(url) (AngularJS)

但是,我在获得回复时遇到了问题。 我尝试使用其他 URL 并且它有效,那么问题的原因可能不是代码。

错误是:“请求的资源上不存在访问控制允许源头”。 其他回复提出了与 CORS 和隐私问题相关的内容;但是当我直接在浏览器中输入 URL 时,它会直接给出 JSON 响应。 (所以基本上服务器端没有隐私问题吧?)

我的问题是我该怎么办?是否有另一种方法来获取 url 指向的页面内容(我确信它只会包含 JSON 响应)

提前致谢

【问题讨论】:

  • 对此您无能为力,需要由管理“某个端点”的人来解决。唯一的选择是构建您自己的获取 json 的服务器端端点。
  • 即使当我在浏览器中输入此端点的 url 时仍会收到响应,是否有可能出现问题?
  • 不,您仍然必须遵循相同的规则。直接使用浏览器请求它,就像它是一个网页一样不受同源政策的约束。
  • 好的,谢谢,我想我已经了解问题的原因了。我应该联系服务器端的经理来解决 CORS 问题。如果这是一个愚蠢的问题,我很抱歉,但这是我第一次遇到此类问题。谢谢
  • 请求是否需要您请求的站点提供给您的身份验证令牌?如果是这样,此限制是为了保护您免于做出对您和他们都有害的事情。

标签: angularjs json http get


【解决方案1】:

我遇到了这个问题:
1、如果我们替换地址栏的URL,就相当于从本站服务器接收数据

  1. 为了向其他服务器发送请求,需要使用 JSONP HTTPS 作为安全通道

  2. 可以发送数据,但是收到的回复会是 JSON 格式的问题

  3. 如果使用PHP请发送到服务器,然后使用CURL

  4. JS->我们的服务器->Server api->我们的服务器->JS

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多