在后端编程和API访问方面,我是初学者。 我对JQuery SDK有一个简单的ajax请求,我从Facebook的文档页面复制了它,但它似乎没有用。
我的代码如下:
$.ajaxSetup({ cache: true });
$.getScript('http://connect.facebook.net/en_US/sdk.js', function(){
FB.init({
appId: '{socialApp}',
version: 'v2.5'
});
console.log(FB);
});
$('#getInfo').click(function() {
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
当调用FB.login()时,我收到错误提示:
FB.login() called before FB.init().
这是为什么?另外,当我在console.log(FB)时,我确实得到了FB对象,但FB.init.appID和FB.init.version甚至没有设置,所以我认为FB.init没有正确初始化。
答案 0 :(得分:0)
我认为您的代码是从page复制的。
看起来$ .getScript中的函数()无法正常工作。
首先,我认为你应该检查你的html页面中的jquery插件。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
然后,尝试实现$(document).ready();像这样
$(document).ready(function() {
$.ajaxSetup({ cache: true });
$.getScript('//connect.facebook.net/en_US/sdk.js', function(){
FB.init({
appId: '{socialApp}',
version: 'v2.5'
});
console.log(FB);
});
});
希望这有帮助!!!