2015-06-25 116 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];