如何将该access_token从Dom传递或解析为变量然后我可以存储并调用access_token?

时间:2011-06-25 03:32:12

标签: javascript json dom foursquare access-token

在其他人的帮助下,我已经到了可以看到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进行传输。 未捕获的SyntaxError:意外的令牌: checkinsGET https://api.foursquare.com/v2/users/self/checkins?oauth_token=undefined&format=json 401(未经授权)

我觉得它准备就绪并等着我来打电话,但是我怎么把它从Dom打印到我可以使用的var中?几个小时都在争吵,并且由于某种原因,我一直在尝试所有的研究技巧。感谢大家的帮助到目前为止,我真的希望能够通过这个!

1 个答案:

答案 0 :(得分:0)

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

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

  

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