在PHP中传递数据和调用后台脚本的有效方法

时间:2014-02-12 12:43:54

标签: javascript php jquery ajax

我有一个页面,向用户显示5个问题,当他点击下一个5 链接时,我将当前页面onbeforeunload()的分数发送到脚本{{1}使用jQuery AJAX异步,并且当调用成功时,将显示接下来的5个问题。

updateScore()

但问题是,在慢速连接时,它可能会暂停浏览器一段时间,直到AJAX调用成功返回。当我尝试window.onbeforeunload=function() { $.ajax({ type: "POST", url: "updateScore.php", data: "pageScore="+score, cache: false, timeout:5000, async:false }); } (默认)时,首先加载下一页而不调用{{1这可能是因为localhost中的连接速度很快,因此没有时间让async:true调用完成。这就是我使用updateScore.php的原因。它会发生吗(没有AJAX)如果我在实际案例中也使用AJAX?如果是,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我建议你稍微改变你的代码。

在“click”事件上发出ajax请求,并在ajax回调函数中重定向用户。

像这样:

$('#mybutton').on('click', function()
{
  $('#pleasewait').show();
  $ajax({
    type: "POST",
    url: "updateScore.php",
    data: "pageScore="+score,
    success: function() { document.location="nextpage.php" }
  });
}