为什么Ajax调用不会将操作中的数据返回到成功回调函数? [关闭]

问题描述 投票:0回答:1

我正在尝试将部分视图html附加到Modal-popup框的内容。以下脚本应该在单击按钮时运行“Details”操作并将html输出返回到succes回调。所以ActionMethod运行但我无法将相应的视图作为参数返回 - 警报不会显示!你能发现那个剧本中有什么不对吗?我无法回到视图的原因是什么?

<!--language: lang-js-->
<script> 
        $(".detail-link").click(function () {
            var Did = $(this).data("id");
            $.ajax({
                type: 'POST',
                url: "/Home/Details/",
                data: { id: Did },
                dataType: 'html',
                succes: function myfunction(data){
                    alert(data);
                 }
            });
        });
    </script>

这是名为“详细信息”的操作方法

<!--language: lang-cs-->
 [HttpPost]
        public ActionResult Details(int? id)
        {

            HomeModel model = new HomeModel();
            var book = db.Books.Where(b => b.Id == id).Include(b => b.Author).SingleOrDefault();
            if (book == null)
            {
                HttpNotFound();
            }

            book.DisplayNumber++;
            db.SaveChanges();
            model.bookDetails = book;
            return PartialView(model);
        }

如果需要,我也可以发布我想要回来的观点

javascript c# ajax asp.net-mvc
1个回答
1
投票

将ActionResult更改为JsonResult并返回Json对象。

[HttpPost]
        public JsonResult Details(int? id)
        {

            HomeModel model = new HomeModel();
            var book = db.Books.Where(b => b.Id == id).Include(b => b.Author).SingleOrDefault();
            if (book == null)
            {
                HttpNotFound();
            }

            book.DisplayNumber++;
            db.SaveChanges();
            model.bookDetails = book;
            return Json(model);
        }
© www.soinside.com 2019 - 2024. All rights reserved.