javascript - 获取 XMLHttpRequest 无法在第二次 api 调用 Instagram 上加载

标签 javascript json api instagram

我正在调用 instagram api 以获取带有特定标签的所有图片,第一次它工作正常,它在控制台上向我显示 json,但是当我尝试使用 next_url 再次调用以获取所有图片时我收到此错误:

XMLHttpRequest cannot load https://api.instagram.com/v1/tags/cats/media/recent?callback=jQuery18300975…092&client_id=XXXXXXXXXXXXXXXXXXX&max_tag_id=1395937138154027. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

这是我正在使用的代码:

var Instagram = {};

// Small object for holding important configuration data.
Instagram.Config = {
   clientID: 'XXXXXXXXXXXXXXXXXXX',
   apiHost: 'https://api.instagram.com'
 };

(function(){
var url;
function search(tag){
   generateResource(tag);
  $.getJSON(url, toScreen);
}

function generateResource(tag){
url = Instagram.Config.apiHost + "/v1/tags/" + tag + "/media/recent?callback=?&client_id=" +     Instagram.Config.clientID;
return url;
}

function toScreen(data){
  var next_url=data.pagination.next_url;
  console.log(next_url)
  if(next_url!=undefined)
  {
     url=next_url;
     pagination(url);
     console.log(data);
  }
}
function pagination(url)
{
   $.getJSON(url, toScreen);
}

 Instagram.App = {
   search: search
 };


}());

$(function(){
  Instagram.App.search('cats');  
});

最佳答案

您必须为next_url添加另一个&callback=?

像这样修改并尝试它是否有效:

  if(next_url!=undefined)
  {
     url=next_url + "&callback=?";
     pagination(url);
     console.log(data);
  }

关于javascript - 获取 XMLHttpRequest 无法在第二次 api 调用 Instagram 上加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22683334/

相关文章:

api - Laravel Route apiResource(路由中apiResource和resource的区别)

javascript - 在 javascript 中动态填充对象数组时出现问题

java - JSON 值扩展了另一个 JSON 值

api - 已弃用的 YouTube API

javascript - 解析 JSON 将每个逗号替换为 <br> 元素 Javascript

c# - Web 服务返回空白页而不是 JSON 对象

api - 如何生成 Magento 的 API 文档/文档?

javascript - 如何监视使用 WinJs 中的 launchUriAsync 生成的进程

javascript - 在哪里可以找到 .get 函数的文档?

javascript - Mozilla 雷鸟 "FiltaQuilla"; JavaScript 和正则表达式