gpt4 book ai didi

javascript - 脚本运行失控

转载 作者:行者123 更新时间:2023-12-02 18:08:11 27 4
gpt4 key购买 nike

我的观点发生了一些奇怪的事情。我将 Json 结果返回到我的 View 以显示 ajax 调用的数据。如果我的 data.length==0

,我试图显示一条小消息

没有符合此条件的数据

此外,我正在使用 $.blockUI (说“请稍候”),当我的 data.length = 0 时,我的页面仍然显示“请稍候”...很长时间,当我在 Firefox 中运行它时,我收到消息

此页面上的脚本可能正忙,或者可能已停止响应

我的观点:

   <script type="text/javascript">

//<![CDATA[

$("#GetReport").click(function () {
$.blockUI({
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});

$.ajax({
type: "POST",
url: theUrl,
data: { 'manufacturer': manufacturer, 'country': country, 'category': category, 'startDate': startDate, 'endDate': endDate, 'chartType': chartType },
dataType: "json",
success: function (data) {
//setTimeout($.unblockUI, 5);
var retailerNameArray = [];
var clicksArray = [];
var weekNoArray = [];
var rowTotalArray = [];
var weekArray = [];
var columnTotalArray = [];
var cumTotalArray = [];
var weekCounterArray = [];
var overallClickCountArray = [];
var resellerShareArray = [];
var retailerCount = 0;

//we want to include total in the chart
var weekNoArrayIncTotal = [];
var retailerNameArrayIncTotal = [];
var clicksArrayIncTotal = [];
var totalWeekCounter;

var weekNumberIncTotal = 0;
var counter = 1;
//if there is no data we do not want to display the graph etc

if (data.length == 0) {

$('#noData').show();
$('#chartContainer').hide();
$('#tableContainer').hide();
$('.exportData').hide();
}

//we need to add one more because of total but then 0 it


for (var i = 0; i < data.length; i++) {
var cumLeadrow = data[i];
// var y = 1;
//Only display on graph if not 0

}
});

});

//]]>

没有可用于指定标准的数据

一如既往,任何帮助将不胜感激。

最佳答案

如果 data.length - ldata.length - cc小于 0 你的脚本将永远运行。

当您发布完整代码时,您有一组如下所示的 while 循环

while (typeof weekCounterArray[data.length - l] == 'undefined') {
l++
}

如果有的话data.length - l < 0那么它将保持负数,任何用负数索引的数组都会产生 undefined这将导致循环实际上永远运行(实际上是因为它会在某个点下溢,并且如果在某个点存在则返回到有效范围)

这会在两种不同的情况下发生,最有可能的是data.length == 0l初始化为1这将导致负指数。另一种不太可能的情况是当您正在索引的数组具有索引 0 中未定义的值时到索引data.length-1例如。 [undefined,undefined,1,2,3,4]将导致 data.length == 2 几乎无限循环

关于javascript - 脚本运行失控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19925322/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com