0

在其他人的帮助下,我已经到了可以看到 json 从foursquare 返回的地步,但是任何调用它的尝试都会产生错误。

本质上,如果我在 Firebug 中查看网络对象,我会看到状态 200

如果我单击 JSON 选项卡,我可以看到我的 access_token,但是如何从那里提取它以便用于 API 调用?

这是尝试的最新代码。

var jsonUrl = url +"&callback=?";
var access_token;

$("#getJSON").click(function() {
    $.getJSON(jsonUrl, { dataType: "JSONP" }, function(json){ 
        ...
        access_token = json.access_token;
        ...
    });
});

也试过

$.ajax({
  dataType: 'jsonp',
  jsonp: 'callback',
  url: url,
  success: function (json) {
    console.log(json.access_token);
  },
});

但是当我尝试提醒(access_token)时;或运行foursquare api调用我收到以下错误

资源解释为脚本,但使用 MIME 类型 application/json 传输。未捕获的语法错误:意外令牌:checkinsGET https://api.foursquare.com/v2/users/self/checkins?oauth_token=undefined&format=json 401(未经授权)

我觉得它已经准备好等待我调用它,但是我到底如何将它从 Dom 打印到我可以使用的 var 中?打了好几个小时,一直在尝试我所有的研究技术,出于某种原因,这个让我感到困惑。到目前为止感谢大家的帮助,我真的希望通过这个!

4

1 回答 1

0

尝试删除“&callback=?” 从网址。如果您将 dataType 设置为 jsonp,我认为 jQuery 会为您添加。

编辑:来自描述 dataType 参数的jquery ajax文档:

“jsonp”:使用 JSONP 加载到 JSON 块中。将添加一个额外的“?callback =?” 到 URL 的末尾以指定回调。

于 2011-06-25T03:44:03.530 回答