gpt4 book ai didi

javascript - 使用 Request 在 Javascript 中发送表单数据数组?

转载 作者:搜寻专家 更新时间:2023-11-01 00:47:28 25 4
gpt4 key购买 nike

我正在尝试使用接受数据作为表单数据的 API。在我给出的 PHP 示例中,使用 GuzzleHttp 的工作代码如下:

    $response = $client->post('http://example.com', [
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $accessToken
],
'form_params' => [
'items' => $items
]
])

在我的 JS 中,我有以下代码。根据 Request 文档,使用 formData 将使用 FormData 库将对象解析为正确的格式。

我已经使用 Postman 手动完成了这项工作。我正在发送一个 x-www-form-urlencoded 正文,其字段为:

item[0] = "abc"
item[1] = "def"

谁能看出我在这里遗漏了什么,为什么这不起作用?

const items = ["abc", "def"];
const response = await post({items: items}, "http://example.com")
exports.post = async function (data, url) {
const token = await getAccessToken();
const response = await request({
method: 'POST',
url: url,
headers:
{
Connection: 'keep-alive',
Authorization: `Bearer ${token.data.access_token}`,
Accept: 'application/json',
},
formData: data
});
return JSON.parse(response);
};

最佳答案

我认为您在属性 items 中有错字,应该是 item

您引用的 JavaScript 代码实际上发送的是:

formData: { items: [ 'abc', 'def' ] }

虽然从您引用的 PHP 代码来看,您应该发送:

formData: {item: ['abc', 'def']}

所以我认为您应该将示例代码更改为:

const response = await post({item: items}, "http://example.com");

关于javascript - 使用 Request 在 Javascript 中发送表单数据数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57772356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com