我正在尝试将部分 View html 附加到模态弹出框的内容中。以下脚本应该在单击按钮时运行“详细信息”操作,并将 html 输出返回到 succes 回调。所以 ActionMethod 运行,但我无法将相应的 View 作为参数返回 - 警报没有显示!你能发现这个脚本有什么问题吗?我无法恢复 View 的原因是什么?
<!--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>
这是名为“Details”的操作方法
<!--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);
}
如果需要,我也可能会发布我想要返回的 View
最佳答案
将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);
}
关于javascript - 为什么 Ajax 调用不将操作中的数据返回到成功回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55243720/