所以我有一个注销链接,我想使用ajax来处理。
<li><%= link_to('Logout', "#", :method => :delete, :remote => true, :class => 'logout') %></li>
但是,每次登出工作时都必须重新加载页面,然后才能重新加载部分页面。登录工作绝对正常。在没有页面重新加载的情况下单击注销链接时,由于某种原因它只会删除到localhost,它不会删除到/ users / sign_out。然后页面需要另一次重新加载$(#user_login_box)进行更新。这只是注销。
$(document).ready(function() {
function setNotice(data) {
var $flash = $("<div>",{
'class': 'alert alert-success',
'html': data.data.message
});
var $link = $("<a>",{
'html': 'x',
'class': 'close',
'href': '#',
'data-dismiss': 'alert'
}).data("dismiss","alert").prependTo( $flash );
$('#account').html(function(){
return data.login ? data.email : "Account" ;
});
$('.row').prepend($flash);
$('#user_login_box').html(data.content);
}
$('form#sign_in').bind('ajax:success', function(e, data, status, xhr) {
console.log(data);
if(data.success) {
setNotice(data)
} else {
$('#status').html(data.data.message);
}
});
$(".logout").on("click", function(e){
e.preventDefault();
$.post("/users/sign_out", {_method:"delete"}, function(data){
setNotice(data);
});
});
});
答案 0 :(得分:0)
也许尝试将您的退出路径添加到该链接。现在看起来href属性设置为哈希。根据我的记忆,jquery-rails使用href属性来确定请求的URL。