我建立了一个网站,
用户需要注册他们的信息和“特殊密钥”
如果他们没有输入密钥,他们将是普通用户
如果他们使用正确的密钥,他们将是超级用户
但如果密钥错误,他们将无法通过,直到他们使用正确的
密钥使用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();
}
});
问题是 如果我输入右键或没有键 $( '#确认')提交()。不会执行!!
为什么?
提交将在不使用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
答案 0 :(得分:0)
keystring
的价值是多少?它是定义的,是字符串,它是否存在于闭包内?尝试使用keystring
显示alert
的值以查看是否正常。
$('#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();
}
});