【发布时间】:2019-08-03 15:53:14
【问题描述】:
我在管理新项目的 API 请求时遇到了一些麻烦。我正在尝试练习发出 POST 请求,并且我想在一个 POST 中传递多个参数。到目前为止,我已经尝试过创建一个 for 循环,该循环遍历一个数组以发出多个请求,但这似乎不起作用。我之前处理过简单的 GET 请求,但我似乎无法在不重写整个内容的情况下将多个参数传递给帖子。
这是我目前所拥有的:
let URL = "www.exampleapi.com";
这是我正在使用的数组,它们应该是狗窝里的狗。
let dogArray = [
{"id": 1,
"name": "Max" },
{"id": 2,
"name": "Jack"},
{"id": 3,
"name": "Bones" }
];
狗所在的狗窝当前的 id 为 777
let kennelId = 777;
此 API 的 POST 请求需要 kennelId 和 dogId (dogArray.id),所以我想编写一个函数,循环遍历 dogArray 并记录各个 id。
function getDogsInKennel(kennelId, dogArray) {
for (let i = 0; i < dogArray.length; i++) {
//the API would assign a different dogId every time it looped through
dogId = dogArray[i].id;
}
fetch(URL, {
method: 'POST',
body: JSON.stringify(({ dogId: dogId, kennelId: kennelId })),
headers:{
'Content-Type': 'application/json'
}
}).then(result => result.json())
}
getDogsInKennel(kennelId, dogArray);
如您所知,此方法行不通。我应该放弃整个函数并尝试其他方法,还是可以重写它以使用同一个数组进行多个 POST 调用?
【问题讨论】:
-
这可能很明显,但请确保
dogId和kennelId的类型是正确的类型(如数字、字符串、对象等)。也看看$.post。这对你来说可能更容易(我认为) -
你不认为你的获取代码应该在循环内吗?
标签: javascript jquery json post request