【发布时间】:2019-08-01 22:18:22
【问题描述】:
我正在编写一些 JavaScript 代码,该代码将在指定的数字范围内找到最小的未使用数字。 AJAX 请求收集指定范围内所有使用的数字,但另外返回正确值之间的未定义值?我已经将 JSON 响应的返回值与 SQL 表中的当前值进行了比较,所有正确的值都在 JSON 响应和 SQL 表中,所以我不确定未定义值的来源。
JavaScript:
//Specified range of numbers to search.
var startRange = 40000;
var endRange = 49999;
//UPC's are padded with to 13 digits with 0's then sent as parameters.
var startUPC = '00000000' + startRange;
var endUPC = '00000000' + endRange;
// AJAX call to web API that gathers all UPC's within a range.
$.ajax({
url: "api/GetNewPLU",
type: "GET",
dataType: "json",
data: { 'startUPC': startUPC, 'endUPC': endUPC },
success: function (data) {
$.each(data.data, function (i, UPCs) {
for (var i in UPCs) {
console.log("UPC: " + UPCs[i].F01);
}
})
},
error: function (error) {
console.log(`Error ${error}`)
}
})
JSON 响应:
{
"draw": null,
"data": [{
"DT_RowId": "row_0000000040002",
"OBJ_TAB": {
"F01": "0000000040002"
}
}, {
"DT_RowId": "row_0000000040008",
"OBJ_TAB": {
"F01": "0000000040008"
}
}, {
"DT_RowId": "row_0000000040013",
"OBJ_TAB": {
"F01": "0000000040013"
}
}, {
"DT_RowId": "row_0000000040017",
"OBJ_TAB": {
"F01": "0000000040017"
}
}
}
我计划遍历 AJAX 请求中使用的数字,将它们与按顺序递增的生成数字进行比较,直到没有匹配项,然后保存未使用的数字。我不确定是否值得弄清楚为什么我同时返回值和未定义,或者我是否应该找到一种方法来过滤掉未定义。
【问题讨论】:
-
您的数据数组包含一个键:值对,然后是一个键:键:值对。所以第二个项目有另一个维度。 “UPC”的第一个变量是“row_00...40002”,但您的控制台正在尝试查找“row_00...40002”.F01。如果您只需要第二个值,则不需要 UPC 循环中的 var i 。只需获取“UPCs.F01”。
-
它正在工作——谢谢!
标签: javascript asp.net ajax