jquery:window.location.reload()不允许工作$ .post()

时间:2010-06-21 15:10:38

标签: jquery

请看这个脚本

$("#change").click(function()
 {
  var val = $("#new_title").val();
  if(val == '')
  {
   alert("Նշեք խնդրեմ անունը");
   return false;
  }
  else
  {
   $.post
   (
    "change_title.php",
    {id: id, lang: lang, val: val}
   );

         window.location.reload();
  }
 });

其中idlang是全局变量。

在change_title.php中

我正在上传表格。

我想在编辑后显示更改,因此我使用window.location.reload();函数,但它不起作用。如果我删除window.location.reload();函数,它可以正常工作。

问题是什么?

由于

2 个答案:

答案 0 :(得分:13)

您需要在$.post()完成后运行它,如下所示:

$.post("change_title.php",
       {id: id, lang: lang, val: val},
       function() {window.location.reload(); });

不执行此操作作为$.post()的回调(在完成时运行),窗口将在 POST完成之前离开页面。如果您不需要在该功能中执行任何其他操作,则可以将其缩短为:

$.post("change_title.php",
       {id: id, lang: lang, val: val},
       window.location.reload);

答案 1 :(得分:1)

您需要在window.location.reload上使用超时或使用回调函数。该帖子没有足够的时间发送。