发出AJAX请求的问题



我正在使用Facebook信使网络视图来显示表单,在提交时,我想将消息发送回用户,同时关闭网络视图。我现在的问题是webview/浏览器在不发送消息的情况下关闭。我不知道这里可能有什么问题,这是我的代码:

function closeWebview() {
MessengerExtensions.requestCloseBrowser(function success() {
console.log('closed')
});
}
function sendMessage() {
$.ajax({
type: 'POST',
url: '/test-message',
success: function (data) {
console.log('request sent');
}
})
}
sendMessage()
closeWebview()

$.ajax代表异步JavaScriptAndXML,因此,问题是closeWebviewsendMessage调用完成之前被调用。

解决方案是使用callback函数。

function sendMessage(callback) {
$.ajax({
type: 'POST',
url: '/test-message',
success: function (data) {
callback(data);
}
})
}
sendMessage(function(data){
console.log(data);
closeWebview()
});

最新更新