【问题标题】:How can I make a POST request in a VSCode extension如何在 VSCode 扩展中发出 POST 请求
【发布时间】:2020-12-04 15:32:59
【问题描述】:

我想制作一个涉及发布到我的 API 的 VSC 扩展,但是当我将获取语法写到 POST 到我的服务器时,它不起作用。所以我想也许我需要添加节点获取,所以我做了 npm i --save node-fetch 它说This expression is not callable.,再一次,它仍然无法发出POST请求。

【问题讨论】:

    标签: vscode-extensions


    【解决方案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);
        });
      });
    }
    

    【讨论】:

    • 嘿,我使用的是普通的 JS 而不是 TS,看起来 'yo' 需要有require 才能真正导入,但是当我导入它时,我得到了@ 987654325@
    • 其实!我得到了它!我在 require('axios') 的末尾忘记了 .default 哈哈哈,......但是谢谢!
    【解决方案2】:

    我忘记在 axios 要求的末尾添加 .default。

    原来如此

    const axios = require('axios').default;

    如果您使用的是打字稿,请参阅@RockBoro 的帖子!!!

    【讨论】:

      【解决方案3】:

      使用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();
      

      【讨论】:

        猜你喜欢
        • 2014-07-23
        • 1970-01-01
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-15
        • 2015-04-12
        相关资源
        最近更新 更多