Seb*_*ian 0 heroku ruby-on-rails-4 ios7 afnetworking-2
我在heroku创建了一个测试应用程序(使用scaffold),我在这个heroku应用程序中构建了一个iOS客户端(使用AFNetworking 2).我试图使用iOS应用程序从heroku中删除记录,但它无法正常工作.我从服务器收到422状态错误.
查看heroku日志,我发现服务器声称拥有CSRF令牌.所以我尝试在我的iOS客户端上使用此代码执行此操作:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer new];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", nil];
[manager DELETE:contact.url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Response: %@", [operation description]) ;
if (block) {
block(error);
}
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
它没用.
如何在AFHTTPRequestOperationManager上将CSRF令牌添加到http标头中?
这里有两件事:
protect_from_forgery在API控制器中注释掉调用来暂时禁用此功能.AFHTTPRequestOperationManager已经初始化AFJSONResponseSerializer,所以你不需要自己设置.您可以添加默认X-XSRF-TOKEN(或任何标题)[manager.requestSerializer setValue:@"..." forHTTPHeaderField:@"..."];| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |