javascript代码在调试模式下工作正常,没有任何错误,但是在正常模式下它显示参数超出范围错误?

问题描述 投票:0回答:1

我陷入一种情况,当我在调试器模式下工作时在控制器上遇到多个ajax调用时,一切正常,但是在正常模式下,它显示参数超出范围异常

 for (var i = 0; i < artdata.length; i++) {
         addNewStepMultiple(artdata[i], i)
            }

 function addNewStepMultiple(artifactData, index) {
            if (artifactData != null) {
                var tcIndex, data, url;
                var suiteId = serviceFactory.getComponentInfo().id;
                var gridInstance = $("#Suite_Grid").data("kendoGrid");
                if (gridInstance._data.length == 0) {
                    tcIndex = -1 + index + 1;
                } else {
                    tcIndex = $("#Suite_Grid").data("kendoGrid").select().index();
                    if (tcIndex == -1) {
                        tcIndex = tcIndex + index;
                    } else {
                        tcIndex = tcIndex + index + 1;
                    }
                }
                console.log('tcIndex' + tcIndex);
                var newTcIndex = tcIndex;
                var treeBinding = JSON.stringify(artifactData);
                url = "/Suite/AddNewStep";
                data = { SuiteID: suiteId, position: tcIndex, artifactModel: treeBinding };
                $.ajax({
                    type: "POST",
                    url: url,
                    data: data,
                    success: function (res) {
                        debugger; //$scope.SuiteData.data(res);
                        bindSuiteGrid(res); //$scope.SuiteData.data(result)
                        $scope.setChanges();
                        //var tr = grid.element.find('tbody tr:eq(' + (newindex) + ')'); //.addClass('k-state-selected')
                        //  grid.select(tr);
                        var tr = $('#Suite_Grid table tr:eq(' + (res.length) + ')')
                        $("#Suite_Grid").data("kendoGrid").select(tr);
                        loadingStop("#vertical-splitter", ".btnTestLoader");
                    },
                    error: function (error) {
                        debugger
                        loadingStop("#vertical-splitter", ".btnTestLoader");
                        serviceFactory.showError($scope, error);
                    }
                });
            }
        }

请让我知道如何解决该问题。

javascript c# ajax asp.net-mvc kendo-grid
1个回答
0
投票

在您的场景循环中,无法在正常模式下等待您的ajax请求。 因此, 请单击此处以了解如何进行多个ajax调用

© www.soinside.com 2019 - 2024. All rights reserved.