C# ajax调用后的Datatables错误,ASP.Net
我正在使用ajax调用一个局部视图,其中一个表位于名为“div GVPrevision”的div中。我使用的是datatables,但在ajax调用后出现了一个错误,它说: DataTables警告:table id=GVPrevision-无法重新初始化DataTable。有关此错误的详细信息,请参阅 这是ajax代码:C# ajax调用后的Datatables错误,ASP.Net,c#,ajax,asp.net-mvc,datatables,C#,Ajax,Asp.net Mvc,Datatables,我正在使用ajax调用一个局部视图,其中一个表位于名为“div GVPrevision”的div中。我使用的是datatables,但在ajax调用后出现了一个错误,它说: DataTables警告:table id=GVPrevision-无法重新初始化DataTable。有关此错误的详细信息,请参阅 这是ajax代码: <script> function GVPrevision() { $('#GVPrevision').DataTable({
<script>
function GVPrevision() {
$('#GVPrevision').DataTable({
"aaSorting": [],
aLengthMenu: [
[4, -1],
[4, "Todo"]
],
responsive: false
});
}
$(document).ready(function () {
GVPrevision();
$('.btnagregar').click(function (event) {
event.preventDefault();
var data = {
"codmov": $("#codmovf").val(),
"fechainicio": $("#fechainiciof").val(),
"fechatermino": $("#fechaterminof").val(),
"rutentidad": $("#rutentidadf").val(),
"motivo": $("#motivof").val()
};
$.ajax({
url: "/Ficha/AgregarfooterPrevision",
type: "POST",
data: JSON.stringify(data),
dataType: "json",
contentType: "application/json",
success: function (response) {
if (response.Success) {
$("#div-GVPrevision").load('@Url.Content("~/Ficha/GVPrevision")');
GVPrevision();
}
else
window.location.href = "@Url.Action("Prevision", "Ficha")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
</script>
函数GVPrevision(){
$('#GVPrevision')。数据表({
“aaSorting”:[],
阿伦哲努:[
[4, -1],
[4,“待办事项”]
],
回答:错
});
}
$(文档).ready(函数(){
GVPrevision();
$('.btnagregar')。单击(函数(事件){
event.preventDefault();
风险值数据={
“codmov”:$(“#codmovf”).val(),
“fechainicio”:$(“#fechainiciof”).val(),
“fechatermino”:$(“#fechaterminof”).val(),
“rutentidad”:$(“#rutentidadf”).val(),
“motivo”:$(“motivof”).val()
};
$.ajax({
url:“/Ficha/agregarfootervision”,
类型:“POST”,
数据:JSON.stringify(数据),
数据类型:“json”,
contentType:“应用程序/json”,
成功:功能(响应){
if(response.Success){
$(“#div GVPrevision”).load('@Url.Content(“~/Ficha/GVPrevision”);
GVPrevision();
}
其他的
window.location.href=“@Url.Action(“Prevision”、“Ficha”)”;
},
错误:函数(){
log('Login Fail!!!');
}
});
});
});
因为我相信数据库会多次初始化,因为您没有显示全部代码,所以我只能向您提供一个简单但完全不推荐的解决方案,即销毁数据表,然后调用GCPervision
同样,它不是推荐的soln,而是一个soln,只需使用Distroy函数即可
function GVPrevision() {
$('#GVPrevision').DataTable({
"aaSorting": [],
aLengthMenu: [
[4, -1],
[4, "Todo"]
],
responsive: false
});
}
$(document).ready(function () {
GVPrevision();
$('.btnagregar').click(function (event) {
event.preventDefault();
var data = {
"codmov": $("#codmovf").val(),
"fechainicio": $("#fechainiciof").val(),
"fechatermino": $("#fechaterminof").val(),
"rutentidad": $("#rutentidadf").val(),
"motivo": $("#motivof").val()
};
$.ajax({
url: "/Ficha/AgregarfooterPrevision",
type: "POST",
data: JSON.stringify(data),
dataType: "json",
contentType: "application/json",
success: function (response) {
if (response.Success) {
$('#GVPrevision').DataTable().destroy();
$("#div-
GVPrevision").load('@Url.Content("~/Ficha/GVPrevision")');
GVPrevision();
}
else
window.location.href = "@Url.Action("Prevision", "Ficha")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
</script>
函数GVPrevision(){
$('#GVPrevision')。数据表({
“aaSorting”:[],
阿伦哲努:[
[4, -1],
[4,“待办事项”]
],
回答:错
});
}
$(文档).ready(函数(){
GVPrevision();
$('.btnagregar')。单击(函数(事件){
event.preventDefault();
风险值数据={
“codmov”:$(“#codmovf”).val(),
“fechainicio”:$(“#fechainiciof”).val(),
“fechatermino”:$(“#fechaterminof”).val(),
“rutentidad”:$(“#rutentidadf”).val(),
“motivo”:$(“motivof”).val()
};
$.ajax({
url:“/Ficha/agregarfootervision”,
类型:“POST”,
数据:JSON.stringify(数据),
数据类型:“json”,
contentType:“应用程序/json”,
成功:功能(响应){
if(response.Success){
$('#GVPrevision').DataTable().destroy();
$(“#div-
GVPrevision”).load(“@Url.Content(~/Ficha/GVPrevision”);
GVPrevision();
}
其他的
window.location.href=“@Url.Action(“Prevision”、“Ficha”)”;
},
错误:函数(){
log('Login Fail!!!');
}
});
});
});
因为我相信数据库会多次初始化,因为您没有显示全部代码,所以我只能向您提供一个简单但完全不推荐的解决方案,即销毁数据表,然后调用GCPervision
同样,它不是推荐的soln,而是一个soln,只需使用Distroy函数即可
function GVPrevision() {
$('#GVPrevision').DataTable({
"aaSorting": [],
aLengthMenu: [
[4, -1],
[4, "Todo"]
],
responsive: false
});
}
$(document).ready(function () {
GVPrevision();
$('.btnagregar').click(function (event) {
event.preventDefault();
var data = {
"codmov": $("#codmovf").val(),
"fechainicio": $("#fechainiciof").val(),
"fechatermino": $("#fechaterminof").val(),
"rutentidad": $("#rutentidadf").val(),
"motivo": $("#motivof").val()
};
$.ajax({
url: "/Ficha/AgregarfooterPrevision",
type: "POST",
data: JSON.stringify(data),
dataType: "json",
contentType: "application/json",
success: function (response) {
if (response.Success) {
$('#GVPrevision').DataTable().destroy();
$("#div-
GVPrevision").load('@Url.Content("~/Ficha/GVPrevision")');
GVPrevision();
}
else
window.location.href = "@Url.Action("Prevision", "Ficha")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
</script>
函数GVPrevision(){
$('#GVPrevision')。数据表({
“aaSorting”:[],
阿伦哲努:[
[4, -1],
[4,“待办事项”]
],
回答:错
});
}
$(文档).ready(函数(){
GVPrevision();
$('.btnagregar')。单击(函数(事件){
event.preventDefault();
风险值数据={
“codmov”:$(“#codmovf”).val(),
“fechainicio”:$(“#fechainiciof”).val(),
“fechatermino”:$(“#fechaterminof”).val(),
“rutentidad”:$(“#rutentidadf”).val(),
“motivo”:$(“motivof”).val()
};
$.ajax({
url:“/Ficha/agregarfootervision”,
类型:“POST”,
数据:JSON.stringify(数据),
数据类型:“json”,
contentType:“应用程序/json”,
成功:功能(响应){
if(response.Success){
$('#GVPrevision').DataTable().destroy();
$(“#div-
GVPrevision”).load(“@Url.Content(~/Ficha/GVPrevision”);
GVPrevision();
}
其他的
window.location.href=“@Url.Action(“Prevision”、“Ficha”)”;
},
错误:函数(){
log('Login Fail!!!');
}
});
});
});
您在这里调用了DataTable
方法两次,一次在文档之后。ready
方法和AJAXsuccess
方法:
$(document).ready(function () {
GVPrevision(); // first call
$('.btnagregar').click(function (event) {
// data insertion here
$.ajax({
// other ajax options here
success: function (response) {
if (response.Success) {
$("#div-GVPrevision").load('@Url.Content("~/Ficha/GVPrevision")');
GVPrevision(); // second call - this will fail
}
else
window.location.href = "@Url.Action("Prevision", "Ficha")";
},
error: function () {
console.log('Login Fail!!!');
}
});
});
});
为了解决这个问题,y
function GVPrevision() {
$('#GVPrevision').DataTable({
destroy: true // add this line
"aaSorting": [],
aLengthMenu: [
[4, -1],
[4, "Todo"]
],
responsive: false,
});
}
if (response.Success) {
$.post("/Ficha/GVPrevision", function (datos) {
$("#div-GVPrevision").html(datos);
GVPrevision();
})
}