1
所以我有一个注销的链接,我想用ajax来处理。Rails 3.1 UJS link_to remote true必须重新加载页面才能工作
<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("https://stackoverflow.com/users/sign_out", {_method:"delete"}, function(data){
setNotice(data);
});
});
});