0

当用户单击一个按钮时,我想通过更改 window.location 将用户带到另一个网页,同时在后台发出 HTTP Post 请求。HTTP Post 必须是异步的。我怎样才能做到这一点?

 $(document).ready(function(){
      $("#b1").click(function(event){


        try{

             //call function that sends HTTP POST in the background
             window.location="http://www.stackoverflow.com";

        } catch(e) {


          alert(e.message);

         }
      });
    });
4

1 回答 1

2

您可以打开新的浏览器窗口/选项卡,它将执行异步发布请求并在收到响应后自动关闭,同时您可以更改自己窗口的位置。

$(function() {
  $('button').on('click', function() {
    var w = window.open('about:blank');
    w.document.write([
      '<html>',
        '<body>',
          '<script src="http://code.jquery.com/jquery-latest.js"></script>',
          '<script>',
            '$.post("http://my.site.com", "data to be sent").always(function() {',
              'window.close();',
            '})',
          '</script>',
        '</body>',
      '</html>'
    ].join(''));
    window.location = 'http://stackoverflow.com';
  });  
});
于 2013-11-06T22:20:07.100 回答