问题描述
|
在其他人的帮助下,我已经到了可以看到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中呢?奋战了几个小时,出于某种原因尝试了我所有的研究技术,这使我难以理解。到目前为止,感谢大家的帮助,我真的很希望能通过这个!
解决方法
尝试从网址中删除\“&callback =?\”。我认为如果将dataType设置为jsonp,jQuery会为您添加。
编辑:
从jquery ajax文档中描述了dataType参数:
\“ jsonp \”:使用JSON块加载
JSONP。将添加一个额外的\“?callback =?\”
在您的网址末尾以指定
打回来。