2015-06-25 118 views
1

我想在获取请求的头部(在此请求中我想从服务器获取一些JSON信息)添加授权令牌这里是我的代码:在网络中为授权令牌设置请求标头

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 
//[manager.requestSerializer setAuthorizationHeaderFieldWithToken:token]; 
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[manager.requestSerializer setValue:@"4959a0bc00a15e335fb6" forHTTPHeaderField:@"Authorization"]; 
[manager GET:@"http://domain.com/recipes.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
    NSError *e=nil; 

    recipesarray = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:&e]; 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

我得到了这个错误: 操作无法完成。 (可可错误3840.)“(JSON文本没有以数组或对象开始,并且选项允许片段未设置。)UserInfo = 0x7f8098529760 {NSDebugDescription = JSON文本没有以数组或对象开始,并且选项允许片段未设置。 NSUnderlyingError = 0x7f8098513790 “请求失败:未经授权(401)”}

没有人知道原因 非常感谢

回答

0

你并不需要一个AFJSONRequestSerializer你需要一个AFJSONResponseSerializer

请求=>回应?

and AFJSONResponseSerializer是默认responseSerializer因此只要不改变requestSerializer

+1

THX,我更新了我的代码,现在我没有任何错误,但我的反应对象为null。你有什么想法为什么?我确信服务器端。 – MKH

-1

随着AFHTTPRequestOperationManager使用方法setAuthorizationHeaderFieldWithToken

[manager.requestSerializer setAuthorizationHeaderFieldWithToken:token];