我製作了一個名爲auth的過濾器,用於檢查用戶是否已登錄。如果沒有記錄它在主頁面上重定向,但如果是一個調用Ajax?我只是檢查是否。如果是我只是發送一個JSON狀態「無日誌」。現在我的客戶端收到了我的json響應「no-log」,並且我想爲請求登錄名和密碼打開一個模式。我認爲的解決方案很容易爲每個ajax請求一個if語句來檢查響應狀態是否爲「no-log」並顯示模態函數。但是課程對未來的更新並不好,我正在尋找一個很好的解決方案,我可以綁定這個事件,如果我想在將來添加其他狀態。任何建議?登錄後會發生綁定事件
Route::filter('auth', function()
{
if (Auth::guest()) {
if (!Request::ajax()) {
Session::put('loginRedirect', Request::url());
return Redirect::to('/');
} else {
$status = "no-log";
return json_encode(array('status' => $status));
}
}
});
如果返回所有沒有的loggedIn請求401呼叫AJAX
$(document).on("click", ".delete", function() { // delete POST shared
var id_post = $(this);
bootbox.confirm("Are you sure do want delete?", function(result) {
if (result) {
$.ajax({
type: "POST",
url: '/delete_post/' + USER,
data: { id_post: id_post.attr('id') },
beforeSend: function(request) {
return request.setRequestHeader("X-CSRF-Token", $("meta[name='token']").attr('content'));
},
success: function(response) {
if (response.status == "success") {
id_post.parents('div.shared_box').fadeOut();
}
},
error: function(){
alert('error ajax');
}
});
} else {
console.log("close");
}
});
});
爲什麼你說這不是一個好的解決方案,以供將來更新? – Fractaliste
,因爲我有更多的時間在我的應用程序上調用ajax,我應該將檢查放在每個函數中?我希望有一些快速解決方案。 – Fabrizio
我不知道Javascript中是否存在「過濾器」的概念。當然,如果你使用Ajax API,你可以重寫它的一個回調函數。你可以在這裏發佈你的基本Ajax調用嗎? – Fractaliste