提出AJAX请求的问题

时间:2018-11-29 14:12:19

标签: javascript ajax facebook

我正在使用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()

1 个答案:

答案 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()
});