【rails】 jqueryでdelete通信を行う

rails

※プロモーションページが含まれる場合があります

jqueryでlocationを使っているところがあり、logoutの通信はdelete通信なので修正の必要があった。

$.ajax{}を使うことによりdelete通信を可能に。

ただ、引数のdataにcsrf-tokenを付与する必要がある。

通信成功後はmethodがdelete通信を引き継いていたのでtypeをpostに変更。通信成功後にlocationでget通信を可能にした

if(tempUrl === “/logout”){

let data = $.extend(data, {authenticity_token: $(‘meta[name=”csrf-token”]’).attr(‘content’)});

data._method = “DELETE”

return $.ajax({

url: tempUrl,

data: data,

type: “POST”,

cache: false

}).done(function (response, textStatus, jqXHR) {

window.location.href = “/login”

tempUrl = “”; // 移動ボタンをクリックしたらtempUrlをリセット

})

}

へッダから CSRF token 拾ってつける

<%= csrf_meta_tags %>

コメント

タイトルとURLをコピーしました