递归Ajax调用在IE11中不起作用

时间:2018-07-01 04:54:53

标签: jquery ajax recursion internet-explorer-11

我正在尝试使用$ .ajax jquery方法(由于我的JSON数据约为2MB)来回接ajax get调用,它在Chrome中可以正常工作,但IE11似乎无法理解。在IE11中,它下降了在ajax的fail方法上,在递归调用之一中,然后移出递归。我在失败事件中调试并悬停在responseText上,它给了我字符串(长json的对象之一)并带有反斜杠

  

[{\“ row_index \”:\“ 401 \”,\“ value \”:\“希腊\”,\“系统\”:true,\“全局\”:true}]

但是,它在chrome中工作正常,即使在网络监视器IE11中,它也没有显示反斜杠响应。在IE11控制台中,它显示不带反斜杠的字符串

var myArray =[];
function recursiveAjax(j){
    //where requestIds is like ["2","5", "1"] (list of ids) 
   $.ajax({url:myURL + JSON.stringify(requestIds) + "&point1="+range[j].start+"&point2="+range[j].end +"&cacheUniq=" + (new Date()).getTime(), dataType: "json", type:'Get', cache:false, success: function (data) {

   myArray.push(data)
   if(j < range.length-1 )// Where range is populated array of object
            {
                j++;
                recursiveAjax(j);
                //setTimeout(recursiveAjax(j),500*j);

            }   
   });
   })

   }
recursiveAjax(0)

1 个答案:

答案 0 :(得分:0)

我在json数据中发现一个特殊字符,这导致错误事件仅在IE11中触发