Как я могу сделать запрос POST в расширении VSCode

#vscode-extensions

#vscode-расширения

Вопрос:

Я хочу создать расширение VSC, которое включает в себя публикацию в моем API, однако, когда я пишу свой синтаксис выборки для публикации на моем сервере, он не работает. Итак, я подумал, может быть, мне нужно добавить выборку узла, что я и сделал npm i --save node-fetch , и он говорит This expression is not callable. , и еще раз, он все еще не может выполнить запрос POST.

Ответ №1:

Я использовал 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);
    });
  });
}
 

Комментарии:

1. Привет, я использую обычный JS, а не TS, и кажется, что «yo» должен иметь require , чтобы он действительно импортировался, но когда я его импортирую, я получаю Property 'post' does not exist on type...

2. На самом деле! Я понял! Я забыл .по умолчанию в конце require(‘axios’) хахаха, ….. но спасибо!

Ответ №2:

С 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();
 

Ответ №3:

Я забыл добавить .default в конце требования axios.

так что это было бы

const axios = require('axios').defau<

ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ TYPESCRIPT, ПОЖАЛУЙСТА, ОБРАТИТЕСЬ К СООБЩЕНИЮ @RockBoro!!!