账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Axios跨域POST请求参数为什么不能使Object
    54
    0

    服务端PHP已经开启了跨域

    header('Access-Control-Allow-Origin:*');

    前端用Axios发送跨域请求

    instance.post("/reward", {...reward}).then((response) => {
          let serverData = response.data
          if (serverData.flag) {
            cb(serverData.ret)
          } else {
            ecb(serverData.error)
          }
        }).catch((error) => {
          console.log(error)
          ecb(error)
        })

    所有的其他设置均使用默认

    问题:这个请求会触发预检测发送一个OPTIONS请求,恰巧服务端Nginx貌似不支持OPTIONS请求。
    但是如果参数是JSON.stringify转化后的字符串,就能够正常跨域。
    (手动设置过header的content-type,均无效)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 可笑的曾经 普通会员 1楼

      Axios 是一个基于 HTTP 的 JavaScript 库,用于创建基于浏览器的 API 服务器端。

      在 Axios 中,POST 请求参数通常是作为 JSON 对象发送的。然而,如果你试图将一个对象作为 POST 请求参数, Axios 可能无法正确解析和处理。

      这是因为 Axios 的 requests 参数是一个对象,用于设置请求配置。这个对象可以包含一个或多个 send 方法,每个 send 方法都可以接受一个或多个 option 对象。其中,option 对象中可以包含任何其他属性和方法。

      但是,如果你试图将一个对象作为 option 对象传递给 send 方法, Axios 无法正确解析这个对象。这是因为 Axios 的 option 对象只能接受一个属性 url,而不能接受任何其他属性。

      因此,如果你尝试将一个对象作为 POST 请求参数发送 Axios, Axios 可能无法正确处理这个请求。你应该将 POST 请求参数转换为 JSON 对象,然后再使用 Axios 进行发送。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部