Javascript 调用RESTAPI会产生错误TypeError
我试图调用RESTAPI,它抛出的错误如下Javascript 调用RESTAPI会产生错误TypeError,javascript,jquery,rest,Javascript,Jquery,Rest,我试图调用RESTAPI,它抛出的错误如下 [Show/hide message details.] TypeError: data.forEach is not a function 我不熟悉RESTAPI 我的API结构如下所示 { "Agents": { "@ZipCode": "33176", "Agent": [ { "AgencyID": "21", "Name": "A
[Show/hide message details.] TypeError: data.forEach is not a function
我不熟悉RESTAPI
我的API结构如下所示
{
"Agents":
{
"@ZipCode": "33176",
"Agent": [
{
"AgencyID": "21",
"Name": "Anakarina Callejas",
"Phone": "305-515-5613",
"CityName": "KENDALL",
"Address": "10471 N Kendall Dr. #101. Miami, FL 33176",
"Reviews-Rating": "5",
"Reviews-Count": "74",
"image": "/images/agents/21.png"
},
{
"AgencyID": "116",
"Name": "Tamara Mourino",
"Phone": "305-256-0616",
"CityName": "PINECREST",
"Address": "12745 South Dixie Highway. #101. Pinecrest, FL 33156",
"Reviews-Rating": "5",
"Reviews-Count": "70",
"image": "/images/agents/116.png"
}]
}
}
var request = new XMLHttpRequest();
request.open('GET', 'URL to the API', true);
request.onload = function () {
var data = JSON.parse(this.response);
data.forEach(agent => {
console.log(agent.Name);
});
}
request.send();
amd我的API调用是这样的
{
"Agents":
{
"@ZipCode": "33176",
"Agent": [
{
"AgencyID": "21",
"Name": "Anakarina Callejas",
"Phone": "305-515-5613",
"CityName": "KENDALL",
"Address": "10471 N Kendall Dr. #101. Miami, FL 33176",
"Reviews-Rating": "5",
"Reviews-Count": "74",
"image": "/images/agents/21.png"
},
{
"AgencyID": "116",
"Name": "Tamara Mourino",
"Phone": "305-256-0616",
"CityName": "PINECREST",
"Address": "12745 South Dixie Highway. #101. Pinecrest, FL 33156",
"Reviews-Rating": "5",
"Reviews-Count": "70",
"image": "/images/agents/116.png"
}]
}
}
var request = new XMLHttpRequest();
request.open('GET', 'URL to the API', true);
request.onload = function () {
var data = JSON.parse(this.response);
data.forEach(agent => {
console.log(agent.Name);
});
}
request.send();
从API结构来看,
数据
是一个对象
而不是数组
首先从数据
对象中获取代理数组
,然后对其进行迭代以获取每个代理的名称
var responseData =JSON.parse(responseData);
var data= responseData.Agents.Agent;
data.forEach(agent => {
console.log(agent.Name);
});
包含示例数据的片段:
var responseData='{“Agents”:“{@ZipCode”:“33176”,“Agent”:[{“AgencyID”:“21”,“Name”:“Anakarina Callejas”,“Phone”:“305-515-5613”,“CityName”:“KENDALL”,“Address”:“10471 N KENDALL Dr.#101.迈阿密,佛罗里达州33176”,“评论评级”:“5”,“评论计数”:“74”,“image”:“images/images/Agents/21.png”},{“AgencyID”:“116”,“Name”:“Tamara Mourino”,“Phone”:“305-256-0616”,“城市名称”:“PINECREST”,“地址”:“12745南迪克西公路.#101.PINECREST,FL 33156”,“评论评级”:“5”,“评论计数”:“70”,“图片”:“/images/agents/116.png”}}”;
var responseData=JSON.parse(responseData);
var数据=responseData.Agents.Agents;
data.forEach(代理=>{
console.log(agent.Name);
})
从您的API结构来看,数据是一个对象
而不是数组
首先从数据
对象中获取代理数组
,然后对其进行迭代以获取每个代理的名称
var responseData =JSON.parse(responseData);
var data= responseData.Agents.Agent;
data.forEach(agent => {
console.log(agent.Name);
});
包含示例数据的片段:
var responseData='{“Agents”:“{@ZipCode”:“33176”,“Agent”:[{“AgencyID”:“21”,“Name”:“Anakarina Callejas”,“Phone”:“305-515-5613”,“CityName”:“KENDALL”,“Address”:“10471 N KENDALL Dr.#101.迈阿密,佛罗里达33176”,“评论评级”:“5”,“评论计数”:“74”,“image”:“images/images/Agents/21.png”},“AgencyID”:“116”,“Name”:“Tamara Mourino”,“Phone”:”305-256-0616,“城市名称”:“PINECREST”,“地址”:“12745南迪克西公路.#101.PINECREST,FL 33156”,“评论评级”:“5”,“评论计数”:“70”,“图片”:“/images/agents/116.png”}}”;
var responseData=JSON.parse(responseData);
var数据=responseData.Agents.Agents;
data.forEach(代理=>{
console.log(agent.Name);
})
您的数据
是一个对象而不是数组,您返回的响应中唯一的数组是代理
,根据您的结构,该数组将位于data.Agents.Agent
请阅读-总结是,这不是一种解决志愿者问题的理想方式,可能会对获得答案产生反作用。请避免使用将此添加到您的问题中。您的数据
是一个对象而不是一个数组,您返回的响应中唯一的数组是代理
,根据您的结构,它将位于数据.Agents.Agent
请阅读-总结是,这不是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。这很有帮助,谢谢。但是我会像这样拆分数据变量var responseData=JSON.parse(this.response);var data=responseData.Agents.Agent;
hi,我还有另一个问题,你能看看吗?这很有帮助,谢谢。但是我会像这样拆分数据变量var responseData=JSON.parse(this.response);var data=responseData.Agents.Agent;
hi,我还有另一个问题,你能看看吗?