Javascript拆分冻结浏览器

时间:2015-12-04 12:16:37

标签: javascript

我在5000行中有一个大字符串除以 \ n 以为 textarea 在这里我想将这个大字符串转换为数组。

我的字符串就像这样

query= '1\n2\n3\n4\n5\n6\n6...........';

所以我转换为:

var array = query.split('\n');
console.log(array);

但它已经在浏览器上显示30秒后冻结浏览器。

在字符串中转换后,我通过POST逐个发送数据到服务器,验证后我逐个显示结果。

因此,如果有人知道更好的方法,那么请告诉我,否则会帮助我阻止浏览器冻结。

演示链接但不起作用,你可以看到我的html和js代码

https://jsfiddle.net/7ne9L4Lj/40/

1 个答案:

答案 0 :(得分:2)

分为5000行只需不到一秒钟,至少在Chrome上:Fiddle

然而,除非你喜欢充斥服务器,否则在每个人中使用AJAX是一个非常糟糕的主意

 $.each(array, function (index, value) {
    $.ajax({

代替

function sendIt() {
  if (array.length==0) return; // stop
  var value = array.pop();
  $.ajax({
    ...
    success: function() {
      ...
      send();
    }
    ...
  });
}

$(function() {
  $("#formID").on("submit",function(e) { // give the form an ID
    e.preventDefault(); // cancel submission

    ....

    sendIt();
    ....
  })
});