使用javascript函数调用Ajax方法
我在使用jQuery Mobile。使用javascript函数调用Ajax方法,javascript,ajax,html,Javascript,Ajax,Html,我在使用jQuery Mobile。 移动到详细信息的我的代码 <a href="#details" data-ajax="true" data-transition="pop" data-role="button" data-inline="false" data-icon="info">Go To Details</a> 身份验证后我得到了有效的用户响应。现在我想导航到详细信息div 那么,在成功登录后,如何实现ajax代码?? 如有任何建议,将不胜感激 谢谢。使用
移动到
详细信息的我的代码
<a href="#details" data-ajax="true" data-transition="pop" data-role="button" data-inline="false" data-icon="info">Go To Details</a>
身份验证后我得到了有效的用户响应。
现在我想导航到详细信息div
那么,在成功登录后,如何实现ajax代码??
如有任何建议,将不胜感激
谢谢。使用$.ajax()调用Facebook API进行身份验证,并在ajax函数的回调函数中调用详细信息链接的单击事件
也许是这样的
$.ajax({
url : 'https://graph.facebook.com/me'+whatever,
success : function(){
$('#details').click()
}
});
ajax调用成功时将调用success函数。您应该将onclick
事件绑定到返回true
的函数,而不是直接更改href
属性
修改您的标签
修改您的userLogin
功能:
函数userLogin(){
FB.login(
功能(响应){
if(response.authResponse){
警报(“已登录”);
FB.api('/me',函数(响应){
警报(“欢迎”+响应.名称);
});
}否则{
警报(“未登录”);
}
},
{范围:“电子邮件”}
);
返回true;
}
似乎FB.login
是一个异步操作。如果要在登录操作后重定向,请尝试在登录后修改location.hash
。请注意,返回值已更改为false
函数userLogin(){
var hash=“#详细信息”;
FB.login(
功能(响应){
if(response.authResponse){
警报(“已登录”);
FB.api('/me',函数(响应){
警报(“欢迎”+响应.名称);
window.location.hash=散列;
});
}否则{
警报(“未登录”);
}
},
{范围:“电子邮件”}
);
返回false;
}
您可以将其设置为cookies,然后重定向到详细信息页面。如果您有jquery,请尝试$('a[href=“#details”]”)。单击()
不工作。。它直接转到那个div而不需要验证用户。谢谢伙计。已解决..:)但我已在标记中编辑并删除href属性,因为它在经过身份验证之前进行导航。再次感谢……)
function userLogin() {
FB.login(
function(response) {
if (response.authResponse) {
alert('logged in');
FB.api('/me', function(response) {
alert("Welcome " + response.name);
});
} else {
alert('not logged in');
}
},
{ scope: "email" }
);
}
$.ajax({
url : 'https://graph.facebook.com/me'+whatever,
success : function(){
$('#details').click()
}
});