我正在使用Facebook Messenger Webview来显示表单,提交后,我想将消息发送回用户并关闭WebView。我现在的问题是,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()
答案 0 :(得分:0)
$.ajax
代表异步JavaScript和XML ,因此,问题是closeWebview
的调用在完成sendMessage
之前被调用了。
解决方案是使用callback
函数。
function sendMessage(callback) {
$.ajax({
type: 'POST',
url: '/test-message',
success: function (data) {
callback(data);
}
})
}
sendMessage(function(data){
console.log(data);
closeWebview()
});