【问题标题】:Data not passing in axios post request数据未传入 axios post 请求
【发布时间】:2017-08-31 21:31:46
【问题描述】:

我正在使用axios 来调用post 请求,如下所示:

axios.post(this.api+'&action='+this.action+'&wftkn='+this.wftkn, {name: 'Abcd'}).
   then((res)=>{

   });

当我检查网络选项卡时,我看不到请求标头中传递的数据。在这种情况下会出现什么问题?

编辑:添加了控制台错误。

【问题讨论】:

  • 控制台没有错误?
  • 服务器不允许cors
  • 目前还没有。但它应该在请求标头中显示数据。对吗?
  • 不,它在发送请求之前首先检查 cors

标签: javascript vue.js axios


【解决方案1】:

请试试这个:

axios.post(this.api, { name: 'Abcd' }, {
  params: {
    action: this.action,
    wftkn: this.wftkn,
  }
}).then((res)=>{});

【讨论】:

  • 我编辑了答案,应该这样工作,因为您的参数在用作字符串时被错误编码..
  • 好的,我也会添加这个。
  • 我在同一个主机上试过。它显示了任何 CORS 问题。但是我看不到请求标头中传递的数据。
  • 奇怪,这是文档所说的,我们使用的是 axios,但非别名版本又名:axios({method: 'POST', url: this.api, data: {...}, params: {...}})
  • 你能再试一次你的初始电话,它有效吗?
【解决方案2】:

这是对浏览器的保护,您正在请求不同域上的资源,因此您需要设置响应标头:

Access-Control-Allow-Origin: http://localhost:8000

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2020-10-08
    • 2020-10-26
    相关资源
    最近更新 更多