Axios HTTPリクエストコールを使用して、エクスプレスAPIバックエンドを認証しようとしています。応答ヘッダーに「Set-Cookie」が表示されましたが、Cookieが設定されていませんでした。 Axios HTTP呼び出しでCookieを設定することはできますか?
Access-Control-Allow-Origin:* Connection:keep-alive Content-Length:355 Content-Type:application/json; charset = utf-8 [。 ..;最大年齢= 3.6;パス= /; Expires = Fri、28 Sep 2018 05:59:04 GMT; HttpOnly X-Powered-By:Express
これを試してみてください!
axios.get('your_url', {withCredentials: true}); //for GET
axios.post('your_url', data, {withCredentials: true}); //for POST
axios.put('your_url', data, {withCredentials: true}); //for PUT
axios.delete('your_url', data, {withCredentials: true}); //for Delete
これに関する詳細については、axiosのドキュメントをご覧ください。
「withCredentialsは、資格情報を使用してクロスサイトアクセス制御要求を行うかどうかを示します」- https://github.com/axios/axios
WithCredentialsの詳細:
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
はい、Axiosでクッキーを設定できます。 Cookieはheadersオブジェクトに渡す必要があります。 cookieはget/post/put/delete/etcで送信できます。リクエスト:Aaron:が示唆するとおり
axios.get('URL', {
withCredentials: true
});
axios.post('URL', data, {
withCredentials: true
});
axios.put('URL', data, {
withCredentials: true
});
axios.delete('URL', data, {
withCredentials: true
});
または、これを試すこともできます:
axios.get(url, {
headers: {
Cookie: "cookie1=value; cookie2=value; cookie3=value;"
}
}).then(response => {
console.log(response);
});