我想知道如何使用rails作为我的iOS应用程序的后端。
所有我需要的是一个用户与电子邮件和密码,以认证使用设计。我已经有了一个用devise和rails 4创建的用户。
我确实找到了这篇http://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/文章,解释了我需要什么,但有些东西仍然缺失。
POST进行http://localhost:3000/api/users/sign_in.json并设置HTTPBody = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:0 error:&jsonError],但是rails服务器只接收到一个字符串,作为键使用整个json字典,而不是实际的json字典。
params = {"{\"user\":{\"email\":\"qwe\",\"password\":\"123\"}}"=>nil, "action"=>"create", "controller"=>"api/sessions", "format"=>"json"}非常感谢。
发布于 2015-07-14 15:37:53
要使用Rails应用程序Mobile、Android和IOS,您必须使用JSONP:示例:
JS样本:
$.ajax({
url: '/api_mobile',
jsonp: "callback",
dataType: "jsonp",
cache: true,
data: {method: 'login', other_data ...},
success: function(res) {
// response object
console.log(res)
},
error: function(request, status, error) {
alert("Error server: " + request.status);
}
});RAILS 4:
protect_from_forgery with: :exception, only: :api_mobile
# route /api_mobile
def api_mobile
json = {error: 'Not found Method'}
case params[:method]
when: 'login'
if User.login(params[:username], params[:password])
json = {notice: 'Login success'}
else
json = {error: 'Error Username or Password'}
end
end
render json: json, :callback => params[:callback]
end所有函数都必须是个性化和参数化的。
https://stackoverflow.com/questions/21500828
复制相似问题