我正在尝试使用jQuery ajax获取Instagram用户详细信息,可以从网址找到
https://www.instagram.com/instagram/?__a=1
但是当我通过以下代码中的ajax调用它时
$(document).ready(function(){
var instagram = 'instagram';
$.ajax({
url : 'https://www.instagram.com/'+ instagram +'/?__a=1',
dataType: "jsonp",
success: function(e) {
document.write(JSON.stringify(e));
}
});
});
它给我一个错误:
失踪;在陈述之前[在Json]
然而,当我复制并粘贴它以便在一些可用的在线工具上进行验证时,它显示有效格式化的json。
DEMO:https://codepen.io/abhibagul/pen/WXGoYb?editors=0010
错误在浏览器控制台中可见。
答案 0 :(得分:0)
如果您收到JSON
的回复,
从dataType: "jsonp"
更改为dataType: "json"
Valide json响应看起来像
{
"Name": "Foo",
"Id": 192.168.73.96,
"Rank": 7
}
jsonp就像
parseResponse({"Name": "Foo", "Id": 1234, "Rank": 7});
从here
获取更多详细信息答案 1 :(得分:0)
Instagram不支持jsonp,它不再用于支持CORS了。将jsonp
更改为json
。但是,这不起作用,因为Instagram的CORS策略阻止了它。您需要使用Instagram提供的API。
$(document).ready(function() {
var instagram = 'instagram';
$.ajax({
url: 'https://www.instagram.com/' + instagram + '/?__a=1',
dataType: "json",
success: function(e) {
document.write(JSON.stringify(e));
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>