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

时间:2019-07-03 09:57:22

标签: javascript curl axios

我已经将此cURL请求正确地在远程接口上正常工作

curl -XGET "https://server.host:8080/peregrine" -d '{"exchanges":["kucoin", "kraken"],"volume":10}' -k

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

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

使用params代替data使其成为URL,并且远程服务器说它没有接收到数据。

我在做什么错?谢谢。

3 个答案:

答案 0 :(得分:1)

可能的问题是,使用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
  });  

答案 1 :(得分:0)

GET请求不应具有请求正文。

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

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

答案 2 :(得分:0)

感谢您的答复!

实际上,无法使用axios.get()发送数据正文 我们最终调整了服务器端,以接受常规的通用GET请求。再次感谢所有回答的人!