无法将 jquery ajax 响应转换为数组 javascript
Unable to convert jquery ajax response to array javascript
我有一个 API,其中 returns 一个格式数组:
[
{
"abc": "def",
"efg": "hij"
},
{
"abc": "def",
"efg": "hij"
}
]
当我使用 jquery.ajax 访问服务时,我能够得到响应
$.ajax({
url: URL,
type: 'GET',
dataType: 'JSON',
xhrFields: {
withCredentials: false
},
success: function (data) {
console.log(data);
},
error: function (request, error) {});
在 java 脚本上,当我尝试检查数据的数据类型时,它是对象类型。
当我直接在控制台打印数据时
0: Object { "abc": "def", "egf":"ghi " }
1: Object { "abc": "def", "egf":"ghi " }
当我用 knockout.toJSON(data) 或 JSON.stringify(data) 打印时 returns
[
{
"abc": "def",
"efg": "hij"
},
{
"abc": "def",
"efg": "hij"
}
]
但是我无法将响应转换为数组,因为我希望它是一个数组。
我什至在 knockout.JSON(数据)、JSON.stringify(数据)和直接在数据上尝试了 JSON.parse,但都失败了。
将其转换为数组的最佳方法是什么。
JS 有 primitive 数据类型和 Objects
,因为 Array
不是原始类型,它的 typeof
将 return Object
。
您可以在代码中将响应视为一个数组,无需转换。
Study this SO post for further info and the docs about JS data types
我有一个 API,其中 returns 一个格式数组:
[
{
"abc": "def",
"efg": "hij"
},
{
"abc": "def",
"efg": "hij"
}
]
当我使用 jquery.ajax 访问服务时,我能够得到响应
$.ajax({
url: URL,
type: 'GET',
dataType: 'JSON',
xhrFields: {
withCredentials: false
},
success: function (data) {
console.log(data);
},
error: function (request, error) {});
在 java 脚本上,当我尝试检查数据的数据类型时,它是对象类型。 当我直接在控制台打印数据时
0: Object { "abc": "def", "egf":"ghi " }
1: Object { "abc": "def", "egf":"ghi " }
当我用 knockout.toJSON(data) 或 JSON.stringify(data) 打印时 returns
[
{
"abc": "def",
"efg": "hij"
},
{
"abc": "def",
"efg": "hij"
}
]
但是我无法将响应转换为数组,因为我希望它是一个数组。
我什至在 knockout.JSON(数据)、JSON.stringify(数据)和直接在数据上尝试了 JSON.parse,但都失败了。
将其转换为数组的最佳方法是什么。
JS 有 primitive 数据类型和 Objects
,因为 Array
不是原始类型,它的 typeof
将 return Object
。
您可以在代码中将响应视为一个数组,无需转换。
Study this SO post for further info and the docs about JS data types