我试图在JSON的帮助下将以下操作中的布尔值返回给Ajax:
CONTROLLER
get "#{$INDEX_BASE_URL}/login" do
user_id = params[:user_id]
if ToConfigureUser.check_existence(user_id)
data = {:bool => 'true'}.to_json
return data
else
data = {:bool => 'false'}.to_json
return data
end
end
我正在使用JSON,但我甚至不确定这是否是最好的做法。
这是Ajax:
AJAX
$.ajax(url,{
datatype: "json",
contenType: "application/json; charset=utf-8",
type: "GET",
data:{
'user_id' : user_id
},
success: function(data){
if(data.bool == "true")
{
alert("True");
}
else
{
alert("False");
}
},
error: function(data){
alert("Something went wrong");
}
});
即使方法“check_existence”返回true,我的Ajax也始终会发出“False”警告。可能是因为我的JSON构造不好。如何从Ruby控制器返回一个布尔值到Ajax?它不一定是JSON,如果有更好的方法,请告诉我。
答案 0 :(得分:1)
由于您在contentType
中缺少t,因此可能无法正确设置内容类型答案 1 :(得分:0)
我解决了这个问题。将:bool 更改为'bool'
<强> CONTROLLER 强>
get "#{$INDEX_BASE_URL}/login" do
user_id = params[:user_id]
if ToConfigureUser.check_existence(user_id)
{'bool' => 'true'}.to_json
else
{'bool' => 'false'}.to_json
end
end
我没有改变Ajax代码。