繁体   English   中英

我在rails中使用ajax时,.submit不起作用

[英].submit don't work when I use ajax in rails

我建立一个网站,
用户需要签名他们的信息和一个“特殊密钥”
如果他们没有输入密钥,他们将是普通用户,如果他们使用右键,他们将是超级用户,但是如果密钥是错误的,他们将不通过,直到他们使用正确的密钥。

密钥使用ajax终止控制器
并返回json {status:“ ok”}或{status:“ error”}

这是我的代码

$('#btn').click(function(e){
    if(keystring.length > 0){
        $.ajax({
        type: "POST",
        url: "check",
        data: { key:keystring  },
        dataType:'json',
        async:false,
        success: function( datajson ) {
            if(datajson.status == "wrong"){
                alert("wrong, please input the right key");
            }else{
                $('#confirm').submit();
            }
        }
        });
     }else{
          $('#confirm').submit();
     }
});

问题是
如果我输入右键或无键$('#confirm')。submit(); 不会执行!!

为什么?

提交将在不使用ajax时执行

感谢您的帮助,这是我的控制器

def check
    @key = KeyChain.find_by({ code: params["key"]})
    if @user_info.present?
        datajson = { status:"ok" }
    else
        datajson = { status:"wrong"}
    end
    respond_to do |format|
     format.json {
        render :json => datajson.to_json 
     }
    end
end

keystring的值是keystring 它是否已定义,是否为字符串,是否存在于闭包内部? 尝试显示带有alertkeystring值,以查看是否可以。

$('#btn').click(function(e){
alert(keystring);
if(keystring.length > 0){
    $.ajax({
    type: "POST",
    url: "check",
    data: { key:keystring  },
    dataType:'json',
    async:false,
    success: function( datajson ) {
        if(datajson.status == "wrong"){
            alert("wrong, please input the right key");
        }else{
            $('#confirm').submit();
        }
    }
    });
 }else{
      $('#confirm').submit();
 }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM