2014-10-07 153 views
6

我使用AFnetworking庫服務器上發佈的數據錯誤域= com.alamofire.error.serialization.response代碼= -1011「請求失敗:錯誤的請求(400)

以下是我的代碼發佈數據在服務器上。

- (void) callLoginAPI:(NSDictionary *)dictProfile{ 
    // 1 
    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:[dictProfile valueForKey:@"name"], @"username", 
                    [dictProfile valueForKey:@"first_name"],@"first_name", 
                    [dictProfile valueForKey:@"last_name"],@"last_name", 
                    [dictProfile valueForKey:@"email"],@"email", 
                    [dictProfile valueForKey:@"birthday"],@"dob", 
                    [dictProfile valueForKey:@"gender"],@"gender", 
                    [[dictProfile valueForKey:@"location"] valueForKey:@"name"],@"location", 
                    [dictProfile valueForKey:@"timezone"],@"timezone", 
                    @"",@"language", 
                    [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large",[dictProfile valueForKey:@"id"]],@"profile_pic_url", 
                    @"",@"cover_pic_url",nil]; 

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    manager.requestSerializer = [AFJSONRequestSerializer serializer]; 

    [manager POST:@"http://10.1.81.35:8000/api/login/" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"JSON: %@", responseObject); 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"Error: %@", error); 
    }]; 
} 

,並響應我得到了我無法理解爲什麼我得到了這樣那樣的錯誤以下錯誤

Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)" UserInfo=0x7c87b6f0 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7cc220e0> { URL: http://10.1.81.35:8000/api/login/ } { status code: 400, headers { 
    Allow = "POST, OPTIONS"; 
    "Content-Type" = "application/json"; 
    Date = "Tue, 07 Oct 2014 10:45:08 GMT"; 
    Server = "WSGIServer/0.1 Python/2.7.6"; 
    Vary = "Accept, Cookie"; 
    "X-Frame-Options" = SAMEORIGIN; 
} }, NSErrorFailingURLKey=http://10.1.81.35:8000/api/login/, NSLocalizedDescription=Request failed: bad request (400), com.alamofire.serialization.response.error.data=<7b226465 7461696c 223a2022 4a534f4e 20706172 73652065 72726f72 202d204e 6f204a53 4f4e206f 626a6563 7420636f 756c6420 62652064 65636f64 6564227d>} 

。現在缺少的在我的代碼?

+0

你得到的問題?我面臨同樣的問題。你可以請看看我的代碼。 http://stackoverflow.com/questions/41713116/errorrequest-failed-bad-request-400-login-via-afnetworking-in-swift – Coder 2017-01-18 06:55:25

回答

8

錯誤說明了一切:您從服務器獲得了400 response,這意味着您發送的內容不是格式正確,或者服務器無法理解。

2

請將此行加入您的代碼, 我希望它能幫助您。

manager.requestSerializer = [AFHTTPRequestSerializer serializer]; 
0

我曾經歷過同樣的問題。在我的情況下,它只能用於上傳大尺寸的圖片。我們的服務器限制了max.upload的大小。我調整了圖像大小並上傳,問題沒有了。

您可以調整大小與圖像:

+ (UIImage*)imageWithImage:(UIImage*)image 
       scaledToSize:(CGSize)newSize; 
{ 
    UIGraphicsBeginImageContext(newSize); 
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 
相關問題