新手问题 rails 浏览器 问题

liker · 2013年05月13日 · 最后由 liker 回复于 2013年05月13日 · 2692 次阅读

rails jquery-ajax 实现了用户的登录、 当换成 火狐浏览器的时候

puts("==============================================")
    puts(params[:name])
    puts("==============================================")

的结果为空 当浏览器为 google 的时候一切正常、、请问如何解决?

清空一下缓存,用 Firebug 看看有没有出错的 js

google 和 火狐 的结果分别为

Processing by SessionsController#create as */*
  Parameters: {"name"=>"", "pass"=>""}



Processing by SessionsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"hAIonBhsfCh5rZDGKR6aT1i8oRbSm/DuBVfPJNH6QHU=", "session"=>{"username"=>"zhangsan", "password"=>"[FILTERED]"}, "commit"=>"登录"}

怎么让他们统一》?

大神们呢?求帮忙解决一下下。。。

<script>
    $(document).ready(function(){
        $('#tt').click(function(){
            alert("begin");
            event.preventDefault();
            $.ajax({
                type: "post",
                url:'/sessions',
                data: {
                        name: $('#us').val(),
                        pass: $('#pa').val()                 
                },
                success: function(data){
                    alert("success");
                    if(data=="true"){
                        location.href ="/";
                    }else{
                        var mm=$('#myModal');
                        mm.modal('show');
                        setTimeout(function(){mm.modal('hide');},2000);
                        return false;
                    }
                },
                error: function(){
                    alert("error");
                }
            });
        });
    });
</script>

火狐浏览器不实现 jquery-ajax 只弹出 begin 怎么解决?

你的 chrome 确定是 ajax 提交的?

在 google 下面 确定是 ajax 提交的、、换成 火狐以后 就不是 ajax 提交的了、、这个怎么解决啊?

#2 楼 @liker 刚才看反了 这个用 jquery-ujs(rails 自带的)实现比较好,你的实现少了 authenticity_token,会被 reset_seesion 的(默认情况下) 另外这种是前端的错误,你应该像一楼所说的那样用 firebug 去调试

好的、、我试试、、3Q

需要 登录 后方可回复, 如果你还没有账号请 注册新账号