从外部源

时间:2017-07-20 05:09:58

标签: javascript json

有没有办法从其他网址获取json文件。 我想将此网址解析到我的网站http://cricapi.com/api/cricket?apikey=TESTKEY0273

2 个答案:

答案 0 :(得分:0)

如果你可以使用jQuery,你可以使用方法https://ase-agentservice-prod-1.azure-automation.net///accounts/e0799801-a8da-8934-b0f3-9a43191dd7e6/Nodes(AgentId=

$.getJSON("https://cricapi.com/api/cricket?apikey=TESTKEY0273",
  function(data) {

    data.data.forEach(function(item) {
      for (var key in item) {
        $("#content").append($("<div />").append("<span>" + key + ": </span>").append(item[key]));
      }
      $("#content").append("<hr />");
    });
  });
#content>div {
  margin-bottom: 10px;
}

#content span {
  font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="content">
</div>

答案 1 :(得分:0)

您可以直接点击API 。无需发出jsonp请求。该域已有 Access-Control-Allow-Origin:* 标头,表示您可以直接与任何域的API进行交互。不会涉及跨域问题。

这是一个简单的JavaScript解决方案。如果您使用的是jQuery,则可以直接使用$.get$.ajax函数。

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://cricapi.com/api/cricket?apikey=TESTKEY0273", true);
xhr.onload = function (e) {
  if (xhr.readyState === 4) {
    if (xhr.status === 200) {
      var dataRec = JSON.parse(xhr.responseText);
      showData(dataRec);
    } else {
      console.error(xhr.statusText);
    }
  }
};
xhr.onerror = function (e) {
  console.error(xhr.statusText);
};
xhr.send(null);

function showData(list){
   list.data.forEach(function(v){
   
   var div = document.createElement('div');
   div.style.border = "1px solid";
   div.style.padding = "10px";
   var span = document.createElement('span');
   span.innerText = "Title : " + v.title;
   div.appendChild(span);
   var elem = document.getElementById("match");
   elem.appendChild(div);
   
   });
}
<div id="match">
Matchs : 


</div>