我正在使用AFNetworking库通过POST方法在服务器上发布数据。
以下是我的代码
- (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=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x797f2620 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
我不明白代码有什么问题。
问题来自响应解析。您正在尝试反序列化JSON
响应(必须包含在a
NSArray
或中NSDictionary
),但是您的响应不是以上所有(很可能是简单的字符串)。
另外,尝试将“允许片段”设置为响应序列化程序。
AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
我使用AFNetworking在iOS中使用post方法从服务器获取数据,但我得到的状态代码是200 OK,但在AFNetworking中,它有Failure methods和下面的错误显示,我也在google上搜索过,我也尝试过基于结果的搜索,但显示的错误相同。 等待您的回复。 状态代码 :- 错误:-Error Domain=NSCocoaErrorDomain Code=3840"操作无法完
我正在尝试使用xcode中的Switf 4使用rest Web服务,这是我的代码: 这是我在xcode控制台中的回答: Linea 50:Error Domain=NSCocoaErrorDomain Code=3840“字符0周围的值无效。”UserInfo={NSDebugDescription=字符0周围无效的值。}Linea 52:可选(“|{\”login\“:\”true\“}”) 这
问题内容: 当我运行代码时,出现此错误,我不知道为什么。 错误域= NSCocoaErrorDomain代码= 3840“无值。” UserInfo = {NSDebugDescription =无值。} 我在互联网上寻找它,但没有找到任何东西。 这是我的代码: 谢谢您的帮助 问题答案: 您需要将content-type标头值设置为使用JSON。 将代码更新为Swift 3,并删除了与请求无关的所
我是iOS新手。我收到此错误: Error Domain=NSCoaErrorDomain Code=3840"字符0周围的值无效。"UserInfo={NSDebugDescription=字符0周围的值无效。}反序列化JSON时出错:Error Domain=NSCoaErrorDomain Code=3840"JSON文本没有以数组或对象开头,也没有设置允许片段的选项。"UserInfo={
当我运行模拟器时,以下错误显示为警报: 操作无法完成。(LaunchServicesError错误0。) 我试过很多关于堆栈溢出的答案,但它们对我都不起作用。 Feb 18 14:48:12 com.apple.dt.xcode[32825]:错误域=LaunchServicesError Code=0“(null)”userInfo={Error=MissingBundleExecutable,
我试图在出现错误的情况下通过AlaMofires的回调访问 属性 我有一个枚举,它处理 类型,特别类似于Alamofire文档 在我的请求中,如果有错误,我将适用的错误存储到Alamofire提供的 案例中,如下所示: 调用该方法时: 然后,当我调用 方法时,我检查完成处理程序中的错误: 如果出现返回 的错误,我将收到以下错误 如何从返回的错误中获取 值?我试过 ,但没有成功。任何帮助都太好了!