jQuery $ .post回调函数调用location.reload()而不使用匿名函数

时间:2010-02-08 13:43:41

标签: javascript jquery

请考虑以下事项:

在匿名函数中包装回调(有效)

$('#updateView').change(function(e) {
  $.post(URL + "actions/updateView.php",
    { view: $(this).val() },
    function() {reloadPage();}
  );
});

直接调用函数(cookie已设置但在页面重新加载之前似乎没有更新)

$('#updateView').change(function(e) {
  $.post(URL + "actions/updateView.php",
    { view: $(this).val() },
    reloadPage()
  );
});

我正在做的第一部作品,但第二部作品没有。函数reloadPage(如下所示)在updateView.php更新cookie后重新加载页面。由于某些原因使用第二个版本,cookie在页面重新加载之前没有设置。但如果我自己刷新页面,它会“找到”cookie的新值。

jQuery文档中有关于此的内容吗?我找不到任何东西。

function reloadPage() {location.reload(true);}

我正在使用jQuery 1.4.1,Php 5.2.5,Apache 2.2.11

1 个答案:

答案 0 :(得分:4)

试试这个:

$('#updateView').change(function(e) {
  $.post(URL + "actions/updateView.php",
    { view: $(this).val() },
    reloadPage
  );
});

reloadPage()不是函数名称,但reloadPage是:)