首先,我在堆栈上看了很多相同的问题。我的问题如下:
我正在开展一个学校项目来制作纸牌游戏(ginrummy) 在这个Web应用程序(mvc 4)中,我想将卡移动到设置(右侧),我想用ajax执行此操作。
添加了一张图片以清除。
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);
}
结果是
我拼错了成功,因为第一部分没有成功。但我的下一个问题是如何让它更新ajax调用回来的页面内容。
我现在正在尝试自己。在数据方面取得成功的是我的整个页面已经交付,因为我想拥有它。
答案 0 :(得分:3)
是因为你有错误的“成功”吗?
$.ajax({
type: "POST",
url: '@Url.Action("ChangeCardLocation")',
data: { 'id': GameId, 'cardId': id, 'location': location },
success: function () {
alert('wow');
},
complete:function (){
}
});