【问题标题】:Can't print the json if response code is 400 in afnetworking?如果 afnetworking 中的响应代码为 400,则无法打印 json?
【发布时间】:2015-10-02 08:41:43
【问题描述】:

我正在使用 AFNetworking 向服务器发出 post 请求。如果我的响应代码是 400,那么我无法打印 json 响应。

这是我的代码

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"123", @"post_id",
                            arr_friendsTags, @"tagged_user", nil];
    AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
    [requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [requestSerializer setValue:api_key forHTTPHeaderField:@"Authorization"];
    manager.requestSerializer = requestSerializer;
    AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializer];
    responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", nil];
    manager.responseSerializer = responseSerializer;
    [manager POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject)

     {
         NSLog(@"JSON: %@", responseObject);
         [self activityIndicator:@"hide"];
         NSDictionary* json =responseObject;


     } failure:^(AFHTTPRequestOperation *operation, NSError *error)
     {
         [self activityIndicator:@"hide"];
         NSLog(@"Error: %@", error);
     }];'

【问题讨论】:

  • 请建议我怎样才能摆脱这个问题?

标签: ios objective-c iphone xcode afnetworking


【解决方案1】:

响应代码 400 描述失败。因此控制传递给失败块,而不是成功块。

状态码 400

由于语法错误,服务器无法理解该请求。客户端不应该不加修改地重复请求。

有关 HTTP 代码列表,请参阅 this link

【讨论】:

  • 但是当我从 chrome rest 客户端发出请求时,我正在显示 json 响应消息。
  • 400 是客户端故障状态代码,因此您的网址有问题。你能显示你的网址吗?
  • 不,不是。它是 HTTP 响应的一部分,因此在某处涉及到 HTTP 服务器。这不是 URL 问题,而是 HTTP 请求的问题。
【解决方案2】:

我认为状态 400 将使用“失败”块,而不是“成功”块。看看错误。但是很可能服务器没有返回任何 JSON 错误。

【讨论】:

    猜你喜欢
    • 2020-01-20
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多