django で axios.delete で CSRF のエラーが出る
DELETEでパラメータを送ろうとして、何回か調べてしまっているのでメモ。
原因はヘッダの設定がうまくいってないからです。
コード
getHeader メソッドで取得できる値が以下のようだとします。
{
headers: {
"X-CSRFToken": cookies.get("csrftoken"),
"content-type": "application/json",
}
}
以下はうまくいきますが。
axios.delete(`/api/hoge/fuga/bar/`, getHeader(options));
以下はうまくいきません。
axios.delete(`/api/hoge/fuga/bar/`, params, getHeader(options));
DELETE メソッドでは、ヘッダとパラメータを以下のように一つのオブジェクトにまとめます。
let deleteObject = createDeleteObject(getHeader(options), params);
axios.delete(`/api/hoge/fuga/bar/`, deleteObject);
function createDeleteObject(header, params = {}) {
return {
headers: header["headers"],
data: params,
};
}
ディスカッション
コメント一覧
まだ、コメントがありません