服务端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,均无效)
1 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
恰恰相反,nginx是最容易支持OPTIONS请求的服务器,只需要在配置里添加以下几行就可以了:
location / {
if ($request_method = OPTIONS ) {
add_header Content-Length 0;
add_header Content-Type text/plain;
return 200;
}
}
添加回答
举报
0/150
提交
取消