Ajax不会触发成功 - ASP

时间:2013-04-20 16:06:34

标签: asp.net ajax

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

我正在开展一个学校项目来制作纸牌游戏(ginrummy) 在这个Web应用程序(mvc 4)中,我想将卡移动到设置(右侧),我想用ajax执行此操作。

添加了一张图片以清除。

enter image description here

ajax完美地触发了控制器并完美地传递了我输入的数据。 在firebug中我检查了响应,它甚至在正确的正确集合中添加了一张卡

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

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

现在代码:

查看:

      var GameId = @Model.Id
        $(function () {
            $(".droppable").droppable({
                drop: function (event, ui) {
                    var id = ui.draggable.find("a").attr("data-CardId");
                    var location = droppableId = $(this).attr("id");

                    $.ajax({
                        type: "POST",
                        url: '@Url.Action("ChangeCardLocation")',
                        data: { 'id': GameId, 'cardId': id, 'location': location },
                        succes: function () {
                            alert('wow');
                        },
                        complete:function (){

                        }
                    });


                }
            });
        });

控制器:

  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);
            }
        }

关于出了什么问题的任何建议? 我是学生,这是一个学校项目!

@comment:

当我这样做时:

  error: function(xhr, error){
                            console.log(error);
                            console.log(xhr);
                        },

我注意到它没有被触发。 之后我完成了相同的尝试:

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

结果是

  • 更迭
  • 返回readystate 4的对象

我拼错了成功,因为第一部分没有成功。但我的下一个问题是如何让它更新ajax调用回来的页面内容。

我现在正在尝试自己。在数据方面取得成功的是我的整个页面已经交付,因为我想拥有它。

1 个答案:

答案 0 :(得分:3)

是因为你有错误的“成功”吗?

$.ajax({
    type: "POST",
    url: '@Url.Action("ChangeCardLocation")',
    data: { 'id': GameId, 'cardId': id, 'location': location },
    success: function () {
        alert('wow');
    },
    complete:function (){
    }
});