JDialog加载并导致会话重置

时间:2011-10-09 10:33:00

标签: ruby-on-rails jquery

我尝试使用JQuery JDialog向用户显示一些信息,但是,当对话框加载时,它会以某种方式重置当前用户的会话。当我评论“return false;”线。页面加载了信息,会话就在那里。

我环顾四周如何解决这个问题,但我没有找到任何解决方案。任何人都可以帮忙。

HTML:

$('.skill_ajax').click(function() {
    var url = this.href;
    var dialog = $('<div style="display:hidden"></div>').appendTo('body');
    // load remote content
    dialog.load(
        url,
        {},
        function (responseText, textStatus, XMLHttpRequest) {
            dialog.dialog();
        }
        );
    //prevent the browser to follow the link
    return false;
});

2 个答案:

答案 0 :(得分:1)

将其更改为:

$('.skill_ajax').click(function(event) {
    var url = this.href;
    var dialog = $('<div style="display:hidden"></div>').appendTo('body');
    // load remote content
    dialog.load(
        url,
        {},
        function (responseText, textStatus, XMLHttpRequest) {
            dialog.dialog();
        }
        );
    //prevent the browser to follow the link
    event.preventDefault();
});
在这种情况下,

return false对我来说总是感觉像是黑客,特别是因为有一种专门为此用途而制作的方法,preventDefault()

答案 1 :(得分:1)

好吧,我解决了它的问题,我只是删除了空括号。

$('.skill_ajax').click(function() {
var url = this.href;
var dialog = $('<div style="display:hidden"></div>').appendTo('body');
// load remote content
dialog.load(
    url,        
    function (responseText, textStatus, XMLHttpRequest) {
        dialog.dialog();
    }
    );
//prevent the browser to follow the link
return false;});