所以我正在制作一个网络应用程序,您可以在其中玩数独游戏,但后端是用 Java 编写的。我制作了一个 servlet 以通过 ajax 与我的 Jquery 通信。
我使用这个 servlet 通过 Ajax 将我生成的数组(数独)发送到我的 web 应用程序。但是当我做一个 typeof 时,它似乎是未定义的。这意味着我无法对数组进行任何操作
这是我的 Ajax 调用:
$.ajax({
url:"/2017_S2_Group_18/API/*",
dataType:"json",
success: function(data) {
for(var i = 0; i<81;i++){
originalSudoku[i] = $(data).attr("sudokuArray")[i];
changedSudoku[i] = $(data).attr("sudokuArray")[i];
}
}
});
orginalSudoku 是不可修改的数组,changedSudoku 是要修改的数组。
这是我通过浏览 Ajax 调用的 URL 获得的输出。
{"数独数组":[7,6,8,1,9,2,3,4,5,1,9,2,4,3,5,6,7,8,4, 3,5,7,6,8,9,1,2,8,7,9,2,1,3,4,5,6,2,1,3,5,4,6,7,8, 9,5,4,6,8,7,9,1,2,3,9,8,1,3,2,4,5,6,7,3,2,4,6,5,7, 8,9,1,6,5,7,9,8,1,2,3,4]}
如何将我的类型解析/更改为字符串、字符或整数?
最佳答案
问题是因为 data
是一个对象,而您正在尝试使用 jQuery 的 attr()
方法(用于 DOM 元素)来访问它的属性.那是行不通的。
相反,您可以像访问 Javascript 中的任何普通对象一样访问 data
的属性。试试这个:
success: function(data) {
for (var i = 0; i < data.sudokuArray.length; i++) {
originalSudoku[i] = data.sudokuArray[i];
changedSudoku[i] = data.sudokuArray[i];
}
}
关于javascript - 使用 JSON 从 Ajax 调用获取未定义的数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006449/