【发布时间】:2020-12-04 15:32:59
【问题描述】:
我想制作一个涉及发布到我的 API 的 VSC 扩展,但是当我将获取语法写到 POST 到我的服务器时,它不起作用。所以我想也许我需要添加节点获取,所以我做了
npm i --save node-fetch
它说This expression is not callable.,再一次,它仍然无法发出POST请求。
【问题讨论】:
我想制作一个涉及发布到我的 API 的 VSC 扩展,但是当我将获取语法写到 POST 到我的服务器时,它不起作用。所以我想也许我需要添加节点获取,所以我做了
npm i --save node-fetch
它说This expression is not callable.,再一次,它仍然无法发出POST请求。
【问题讨论】:
我已使用axios 发布到 URL:
import * as FormData from 'form-data';
import axios from 'axios';
const form = new FormData();
form.append('srcmbr', save_folderContent.srcmbr);
form.append('srcfName', save_folderContent.srcfName);
form.append('srcfLib', save_folderContent.srcfLib);
const headers = form.getHeaders();
headers['Content-length'] = await form_getLength(form);
{
const result = await axios.post(
`${serverUrl}/site/common/rmvm-srcmbr.php`, form,
{ headers, });
console.log(`delete-srcmbr ${result.data}`);
}
export function form_getLength(form: FormData)
{
return new Promise((resolve, reject) =>
{
form.getLength((err, length) =>
{
resolve(length);
});
});
}
【讨论】:
require 才能真正导入,但是当我导入它时,我得到了@ 987654325@
我忘记在 axios 要求的末尾添加 .default。
原来如此
const axios = require('axios').default;
如果您使用的是打字稿,请参阅@RockBoro 的帖子!!!
【讨论】:
使用node-fetch,您可以执行以下操作:
const fetch = require('node-fetch');
async function main () {
const myUrl = 'https://api.example.com/route';
const myData = {};
const response = await fetch(myUrl, {
method: 'POST',
body: JSON.stringify(myData),
}).then((response) => response.json());
console.log(response);
}
main();
【讨论】: