Javascript 尝试遍历API数据时遇到问题
我试图遍历从AJAX调用返回的数组,以记录程序的相关数据 当IJavascript 尝试遍历API数据时遇到问题,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我试图遍历从AJAX调用返回的数组,以记录程序的相关数据 当Iconsole.log(response.data.url)时,将返回所有相关数据。但是,我需要将这些数据推送到一个数组中,以便以后使用。我在函数中启动了一个for循环,但是当我检查控制台时,它返回一条错误消息 url未定义 我不确定错误是从哪里来的,因为在函数正常工作之前,第一个console.log。我是编程新手。 我的代码如下: function callAJAX() { $.ajax({ url: userSear
console.log(response.data.url)
时,将返回所有相关数据。但是,我需要将这些数据推送到一个数组中,以便以后使用。我在函数中启动了一个for
循环,但是当我检查控制台时,它返回一条错误消息
url未定义
我不确定错误是从哪里来的,因为在函数正常工作之前,第一个console.log。我是编程新手。
我的代码如下:
function callAJAX() {
$.ajax({
url: userSearchURL,
method: "GET"
}).then(function(response) {
console.log(response.data.url)
for (i = 0; i <= response.data.length; i++) {
console.log(response.data[i].url)
}
})
}
函数callAJAX(){
$.ajax({
url:userSearchURL,
方法:“获取”
}).然后(功能(响应){
console.log(response.data.url)
对于(i=0;i,这里是一个带键的对象。为了像数组一样在对象上迭代,需要利用内置的object.keys()
函数。请尝试以下操作,而不是for
循环:
Object.keys(response.data).forEach(dataKey => {
console.log(response.data[dataKey])
});
在一种情况下,您记录的是response.data.url
,而在另一种情况下记录的是response.data[i].url
。您应该编辑问题以显示您收到的数据的格式。如果response.data.url
返回url,则response.data
不是数组,因此您无法对其进行迭代。@vlaz是对的,您没有返回数组,您正在访问对象的第一级,response.data.length是und已定义,因为对象没有“长度”属性是一个旁注,即使response.data
是一个数组,你也不应该这样做i同样,在一定次数的迭代之后,我如何停止循环?现在它运行整个数据集,但我只需要返回前15个值?因为上面的代码会遍历Object.k创建的新数组中的每个元素eys()
,您可以创建一个新变量let array=Object.keys(response.data)
,然后您可以像数组一样处理。因此,现在可以使用一个for循环,其中i
小于最大数组长度或15,以较大者为准。我可以执行类似这样的操作:for(let i=0;i<(array.length