【问题标题】:How to Display JSON data from another site如何显示来自另一个站点的 JSON 数据
【发布时间】:2018-01-22 19:27:26
【问题描述】:

我有一个页面,其中存储了一些这样的 JSON 数据

{
    "video": {
        "user": {
            "first_name": "Curtis",
            "last_name": "Shoch"
        },
        "name": "Darwin Digital",
        "location": "Kennesaw",
        "video_type": "c",
        "created": "2018-01-16T13:11:11.326636Z"
    }
}

我需要获取这些数据并将其显示在另一个页面上,o 我试图做这样的事情

var getJSON = function(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open('get', url, true);
    xhr.responseType = 'json';
    xhr.onload = function() {
      var status = xhr.status;
      if (status == 200) {
        callback(null, xhr.response);
      } else {
        callback(status);
      }
    };
    xhr.send();
};
getJSON('https://dev.truthify.com/api/deeplink/info/bf76b0bd-5210-4c55-af23-c9689ffec536/', function(err, data) {
  if (err != null) {
    alert('Something went wrong: ' + err);
  } else {
    result.innerText = video.name;
  }

但我收到了一条消息

没有访问控制允许来源

请求的资源上存在标头,因为我正在使用来自另一个网站的源并且它被阻止。那么有什么理由绕过这个,或者以其他方式获取这些数据。

【问题讨论】:

  • 使用CORS扩展谷歌浏览器
  • 你用谷歌搜索了吗?您的错误消息应该会为您提供数百万个结果。
  • 我当然做到了。我尝试了几个选项,但没有任何效果。

标签: javascript php html json


【解决方案1】:

您正在获取 json 并尝试将其发送到不同源域中的另一个 url。 为了访问不同源域上的服务器,您必须发出 cors 请求(跨源资源共享)。 这意味着您必须设置“Access-Control-Allow-Origin”标头才能让您的客户端代理获得服务器权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 2014-03-09
    相关资源
    最近更新 更多