为什么 jQuery 将响应包装在数组中?

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

我正在使用带有返回 JSON 对象的端点的 API。使用 jQuery 调用 API 时,结果是包含该对象的数组。为什么?

从浏览器(https://example.com/api/elements/1):

{
    "id": 1,
    "name": "foobar"
}

JS代码:

$.get('https://example.com/api/elements/1', data => {
    console.log(data)
})

console.log
结果是这样的:

[
    {
        "id": 1,
        "name": "foobar"
    }
]

为什么直接访问和jQuery有区别?更重要的是,有没有办法检索 JSON 而不是包含单个 JSON 的数组?

javascript jquery ajax
1个回答
0
投票

如果你的 API 没有返回数组,jQuery 不会将其解析为一个数组。

我建议检查来自不同来源的 API 响应(也许浏览器正在对 JSON 进行一些格式化?)。

此处使用 jQuery get() 函数向虚拟 API 发出请求的示例:

$.get('https://jsonplaceholder.typicode.com/todos/1', data => {
  console.log(data)
});

jsfiddle:https://jsfiddle.net/jarmot/9o5r0gy4/

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