joh*_*kes 1 ajax asp.net-mvc jquery callback
我正在使用ASP.NET MVC C#
我有一个jQuery调用删除一本书,然后在回调中我调用一个刷新书籍列表的函数.
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;
}
Run Code Online (Sandbox Code Playgroud)
这是LoadBooks(),如果重要的话:
function LoadBooks() {
$(".BookList").hide();
$(".BookList").load("/Books/Edit/<%= Model.AuthorID %>");
$(".BookList").show('slow');
}
Run Code Online (Sandbox Code Playgroud)
后期工作和LoadBooks()函数被调用.但是,刷新的书籍列表仍包含已删除的书籍.如果我然后手动调用LoadBooks()函数(通过页面上的链接),则会在没有删除的书籍的情况下重新加载书籍.为什么第一本书重新加载仍显示已删除的书?是否在实际删除本书之前发生了?
(我使用$ .post获得相同的结果("/ Books/Delete /"+ id,LoadProperties());)
谢谢.
Gre*_*reg 11
callback: LoadBooks()
应该是公正的callback: LoadBooks,
.
通过使用callback: LoadBooks()
您将回调设置为函数的返回值,而不是函数本身.
另外,我认为应该complete
不是callback
.