Axios跨域POST请求参数为什么不能使Object

服务端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,均无效)


有只小跳蛙
浏览 437回答 1
1回答

郎朗坤

恰恰相反,nginx是最容易支持OPTIONS请求的服务器,只需要在配置里添加以下几行就可以了:location / {    if ($request_method = OPTIONS ) {        add_header Content-Length 0;        add_header Content-Type text/plain;        return 200;    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript