.submit don'当我在rails中使用ajax时不起作用

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

本文关键字:ajax 不起作用 rails don submit      更新时间:2023-09-26

我建立了一个网站,
用户需要注册他们的信息和一个"特殊密钥"
如果他们没有输入密钥,他们将是普通用户如果他们使用右键,他们将是超级用户但是如果key是错误的,它们将无法通过,直到它们使用正确的

键使用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();
     }
});

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

为什么?

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的值是多少?它是定义的吗,它是字符串吗,它存在于闭包中吗?试着用alert显示keystring的值,看看是否可以。

$('#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();
 }
});