cURL 命令到带有 json 数据的 Axios 请求

Rus*_*n K 6 javascript curl axios

我让这个 cURL 请求在远程接口上正常工作

curl -XGET "https://server.host:8080/peregrine" -d '{"exchanges":["kucoin", "kraken"],"volume":10}' -k
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Vue.js 构建一个小的前端应用程序,并且需要将上述内容转换为 Axios get 请求。到目前为止,我一直在尝试以下方法:

axios({
      method: 'get',
      url: 'https://server.host/peregrine',
      data: {"exchanges":["kucoin", "kraken"],"volume":10}
    });
Run Code Online (Sandbox Code Playgroud)

putparams而不是data使它成为一个 URL,远程服务器说它没有收到任何数据。

我究竟做错了什么?谢谢。

Wol*_*tto 5

问题可能是使用 GET 无法像现在一样传递数据。您必须将它们作为查询参数传递。尝试通过以下方式更改您的通话:

axios.get('https://server.host/peregrine', {
    params: {"exchanges":["kucoin", "kraken"],"volume":10}
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  })
  .then(function () {
    // always executed
  });  
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 3

GET 请求不应包含请求正文。

CURL 将允许您使用其中之一发出 GET 请求,但 XMLHttpRequest 和 fetch(axios 包装的浏览器中的 HTTP API)则不允许。

请改为发出 POST 请求。您可能需要更改服务器端代码以支持此功能。