不调用Ajax成功回调

时间:2016-04-10 09:58:51

标签: javascript jquery ajax

当我将function() { location.reload(); }作为回调传递时 - 它不会被调用。

$('#swapLanguageLink').click(function() {
    $.post('@Url.Action("SwapLanguage", "Language")', function() { location.reload(); });
    //location.reload();
});

如果我取消评论//location.reload();(而不是传递回调) - 它运作良好,但我不确定它是否异步。

在异步操作完成之前,我的文档会被重新加载,对吗?那么为什么我的回调不起作用?

编辑:

$.post('@Url.Action("SwapLanguage", "Language")', null, function () { 
    location.reload();
}).done(function () {
    location.reload();
}).error(function () {
    alert('error');
});

我已经尝试过上面的代码了。 error被调用。但是“SwapLanguage”引用了。对我来说真的很奇怪!

1 个答案:

答案 0 :(得分:0)

这样的事情:

jQuery.ajax({
    type: "POST",
    async: true,
    url: '@Url.Action("SwapLanguage", "Language")',
    success: function (data) {
       location.reload(); 
    },
    error: function (err)
    { 
      alert("error");
    }
});

OR

$.post('@Url.Action("SwapLanguage", "Language")', null)
  .done(function(data) {
     location.reload(); 
  });