Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 返回大数据的Ajax调用_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery 返回大数据的Ajax调用

Jquery 返回大数据的Ajax调用,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个索引页分成两部分。左侧是文件夹中的文档列表。 在选择文档时,我对控制器中的方法进行ajax调用,并接收数据,然后显示在右侧 索引视图 我遇到的第一个问题是,当调用时,会显示警报“error”,并且只有在访问控制器方法之后才会显示。我不知道你为什么也能帮我,真的很感激 我遇到的第二个问题是,如果文件的内容非常大,例如超过:400.000个字符,则浏览器在试图显示接收到的数据时会冻结。我已在成功参数上尝试了以下操作: success: function (data) { for(

我有一个索引页分成两部分。左侧是文件夹中的文档列表。 在选择文档时,我对控制器中的方法进行ajax调用,并接收数据,然后显示在右侧

索引视图

我遇到的第一个问题是,当调用时,会显示警报“error”,并且只有在访问控制器方法之后才会显示。我不知道你为什么也能帮我,真的很感激

我遇到的第二个问题是,如果文件的内容非常大,例如超过:400.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])

        }
对于错误回调,您的问题很明显,请参阅注释。 对于成功回调,请改为尝试:

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);