Asp.net Ajax没有';t触发成功-ASP

Asp.net Ajax没有';t触发成功-ASP,asp.net,ajax,Asp.net,Ajax,首先,我在书堆上找了很多相同的问题。我的问题如下: 我正在做一个学校的纸牌游戏项目(金鲁米) 在这个web应用程序(MVC4)中,我想将卡片移动到集合(右侧),我想用ajax来实现这一点 添加了一张图片以进行清理 ajax完美地触发了控制器,并完美地将我输入的数据带过来。 在firebug中,我检查了响应,它甚至在正确的设置中添加了一张卡 问题是当ajax完成时,它不会触发success函数,也不会更新页面。 注意:这是我第一次使用ajax。 complete函数返回OK状态 现在代码是: 视

首先,我在书堆上找了很多相同的问题。我的问题如下:

我正在做一个学校的纸牌游戏项目(金鲁米) 在这个web应用程序(MVC4)中,我想将卡片移动到集合(右侧),我想用ajax来实现这一点

添加了一张图片以进行清理

ajax完美地触发了控制器,并完美地将我输入的数据带过来。 在firebug中,我检查了响应,它甚至在正确的设置中添加了一张卡

问题是当ajax完成时,它不会触发success函数,也不会更新页面。

注意:这是我第一次使用ajax。 complete函数返回OK状态

现在代码是:

视图:

控制器:

  public ActionResult ChangeCardLocation(int id, int cardId, Location location)
        {
            var game = db.Games.Find(id);
            var card = db.Cards.Find(cardId);

            game.ChangeCardLocationTo(card, location);

            db.SaveChanges();

            game.Info = game.GetInfo(id);


            if (game.GameState == GameState.playerOneLayOn || game.GameState == GameState.playerTwoLayOn)
            {
                return View("LastTurn", game);
            }
            else
            {
                return View("Details", game);
            }
        }
你有什么建议吗? 我是一名学生,这是一个学校项目

@评论:

当我这样做的时候:

  error: function(xhr, error){
                            console.log(error);
                            console.log(xhr);
                        },
我注意到它没有被触发。 之后,我尝试了同样的方法:

complete:function (xhr, error){
                            console.log(error);
                            console.log(xhr);
                        }
结果是

  • 成功
  • 返回readystate 4的对象
我把成功拼错了,在第一部分它不起作用。但我的下一个问题是,如何让它更新ajax调用返回的页面内容。


我现在正在尝试自己。在“数据成功”中,我的整个页面都是按照我想要的方式交付的

是因为你错写了“成功”吗


检查ajax调用的错误回调函数,它将提供更多关于出错原因的信息。在下面的respone@iaimtomisbehavivo go further@alxandr注释中更新了我的问题。我希望除了windows.location.reload()之外还有其他方法,因为它看起来会更好,并且会导致代码中的其他函数出现问题。我学到了很多。感谢所有回复。这很痛。但是谢谢你给了我一个好的答案!另外,你知道我如何使用ajax刷新页面吗?@JochemTheSchoolKid:取决于你对“使用ajax刷新”的定义。刷新页面与window.location.reload()一样简单。但是,仅刷新内容不能以标准方式完成,这取决于您的服务器/页面。为什么不能以标准方式完成?你能详细解释一下它是如何依赖于我的服务器/页面的吗?@JochemTheSchoolKid使用Ajax调用的目的是在不重新加载整个页面的情况下部分更新页面。在本例中,当ajax调用返回时,它将返回部分页面或该页面部分的数据。您只需要添加/删除/更新返回的数据。查看有助于返回页面子集的局部视图。
complete:function (xhr, error){
                            console.log(error);
                            console.log(xhr);
                        }
$.ajax({
    type: "POST",
    url: '@Url.Action("ChangeCardLocation")',
    data: { 'id': GameId, 'cardId': id, 'location': location },
    success: function () {
        alert('wow');
    },
    complete:function (){
    }
});