当用户点击某个按钮时,我希望通过更改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);
}
});
});
答案 0 :(得分: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';
});
});