我正在向服务器发送一个请求来检查user_id和session_id对,以确保它是有效的。此函数获取与session_id关联的会话数据,然后如果会话数据中的user_id与传递给该函数的参数匹配作为参数,则它应该执行回调。不幸的是,由于某种原因,回调不会执行。如果我在控制台中键入session_is_valid(2,1,function(){alert('hi');});“,我可以看到控制台中记录的”成功“,但没有提示。同样,如果我使用了一个无效对,我会收到一条“失败”消息。但回调从不执行。Jquery AJAX回调没有成功执行
这是我在浏览器中如何使用控制台的一些问题?或者我的功能有问题吗?
//Confirm a session id/user id pair
function session_is_valid(session_id, user_id, callback) {
var data = {'id': session_id};
return $.ajax({
type: "POST",
url: ears_path + "?q=session",
data: JSON.stringify(data),
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
success: function (result) {
if(result.user_id === user_id) {
console.log('success');
callback
}
else { console.log('failure'); }
}
});
}
而'callback'什么都不做。可以试试'callback()'inatead? ;) –
@Jonasw其实我只是一直使用回调函数,并且它在其他函数中总是可以很好地工作。这怎么可能? – Forrest
@Jonasw我也不明白你提到的可能重复的相关性。我一直都在使用AJAX,并完全理解这些动态,我不会尝试不恰当地使用“返回”。我只是试图根据查询的结果进行有条件的回调。 – Forrest