我正在使用ASP.NET MVC C#
我有一个删除Book的jQuery调用,然后在回调中我调用了一个刷新Books列表的函数。
function rembook(id) {
var agree=confirm("Deletion cannot be undone. Continue?");
if (agree)
{
jQuery.ajax({ url: "/Books/Delete/" + id, dataType: null, type: "POST", cache: true, callback: LoadBooks(), data: null });
return false;
}
else
return false;
}
这是LoadBooks(),如果重要的话:
function LoadBooks() {
$(".BookList").hide();
$(".BookList").load("/Books/Edit/<%= Model.AuthorID %>");
$(".BookList").show('slow');
}
调用post和LoadBooks()函数。但是,刷新的书籍列表仍包含已删除的书籍。如果我然后手动调用LoadBooks()函数(通过页面上的链接),则会在没有删除的书籍的情况下重新加载书籍。为什么第一本书重新加载仍显示已删除的书?它是否在实际删除本书之前发生?
(我使用$ .post获得了相同的结果(“/ Books / Delete /”+ id,LoadProperties());)
感谢。
答案 0 :(得分:11)
callback: LoadBooks()
应该只是callback: LoadBooks,
。
使用callback: LoadBooks()
您将回调设置为函数的返回值,而不是函数本身。
此外,我认为它应该是complete
而不是callback
。