Not Receiving Set-Cookie Header with axios post request
我有一个PHP脚本,如果直接在浏览器中(或由邮递员调用),则可以成功返回一些简单的标头以及set-cookie标头。 我可以从chrome devTools中读取类似的响应标题。 但是,一旦我由Axios调用它,set-cookie标头就不会显示,并且浏览器中也没有保存cookie。
我尝试了不同的操作,例如更改服务器端的响应头以及在axios上使用" withCredentials:true",但没有任何效果。 我什至没有收到错误或任何与cors相关的问题。
PHP:
1 2 3 4 5 6 7 8 | header("Access-Control-Allow-Origin: http://localhost:8080"); header("Content-Type: application/json; charset=UTF-8"); header("Access-Control-Allow-Methods: POST, GET"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); header("Access-Control-Max-Age: 99999999"); setcookie("TestCookie","Testing", time() + 3600,"/","localhost", 0); die(); |
JS:
1 2 3 4 | Vue.prototype.$http = axios.create({ baseURL: XYZ, withCredentials: true }) |
所以我的第一个问题是为什么直接调用php脚本时标题会出现? 以及如何通过axios归档以获取标头?
Cookie可能是" httpOnly",这意味着客户端javascript无法读取它。
因此,它不会在Chrome Cookie部分中显示。
在mozilla中测试相同的请求,标题将会显示。