Jquery 返回大数据的Ajax调用
我有一个索引页分成两部分。左侧是文件夹中的文档列表。 在选择文档时,我对控制器中的方法进行ajax调用,并接收数据,然后显示在右侧 索引视图 我遇到的第一个问题是,当调用时,会显示警报“error”,并且只有在访问控制器方法之后才会显示。我不知道你为什么也能帮我,真的很感激 我遇到的第二个问题是,如果文件的内容非常大,例如超过:400.000个字符,则浏览器在试图显示接收到的数据时会冻结。我已在成功参数上尝试了以下操作:Jquery 返回大数据的Ajax调用,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个索引页分成两部分。左侧是文件夹中的文档列表。 在选择文档时,我对控制器中的方法进行ajax调用,并接收数据,然后显示在右侧 索引视图 我遇到的第一个问题是,当调用时,会显示警报“error”,并且只有在访问控制器方法之后才会显示。我不知道你为什么也能帮我,真的很感激 我遇到的第二个问题是,如果文件的内容非常大,例如超过:400.000个字符,则浏览器在试图显示接收到的数据时会冻结。我已在成功参数上尝试了以下操作: success: function (data) { for(
success: function (data) {
for(var i=0; i<=data.length-4; i++) <- -4 is because of some special char at the end
$('#fileContent').append(data[i])
}
对于错误回调,您的问题很明显,请参阅注释。
对于成功回调,请改为尝试:
var $fileContent = $('#fileContent').before('<div id="swap"/>').detach()[0].innerHTML = data.substring(0, data.length - 4);
$('#swap').replaceWith($fileContent);
错误:alert'error'必须是error:function{alert'error';}正如成功一样…这是可行的,但现在,我无法从左侧选择其他日志。fileContent div不见了?我仍然希望在我查看其中一个文档后,能够从左侧选择其他文档。您可以轻松检查文件内容是否消失,对吗?!检查你的控制台,有错误吗?我无法编辑之前的评论。是的,文件内容消失了,交换也消失了。控制台显示没有错误。加载后,如何将swap和filecontent div放回原处,以便选择另一个文档查看?我尝试使用一个更大的文件,一个6mb~4.000.000字符的文件,其中包含全部文本。页面仍然冻结,直到加载完成。我认为显示所有这些数据不是一个很好的解决方案。我想我应该试试别的……不?是的,你不应该一次显示这么多数据。
success: function (data) {
for(var i=0; i<=data.length-4; i++) <- -4 is because of some special char at the end
$('#fileContent').append(data[i])
}
public PartialViewResult ViewContent(string fileName){
OpenFile(fileName);
return PartialView("PartialViewName");
}
var $fileContent = $('#fileContent').before('<div id="swap"/>').detach()[0].innerHTML = data.substring(0, data.length - 4);
$('#swap').replaceWith($fileContent);