我陷入一种情况,当我在调试器模式下工作时在控制器上遇到多个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);
}
});
}
}
请让我知道如何解决该问题。
在您的场景循环中,无法在正常模式下等待您的ajax请求。 因此, 请单击此处以了解如何进行多个ajax调用