无法读取数据,因为它的格式不正确。”
The data couldn't be read because it isn't in the correct format."
]2我正在使用 AFNetworking 将数据发送到 server.Below 是我的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager setRequestSerializer:[AFJSONRequestSerializer serializer]];
[manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"user_id"];
[dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"shipper_id"];
[dict setValue:strUuid forKey:@"imageOrderId"];
[dict setValue:@"1" forKey:@"type"];
NSData * imageData = UIImageJPEGRepresentation([aryImages objectAtIndex:0], 0.7);
if([imageData length]>0){
NSString *base64String = [imageData base64EncodedStringWithOptions:0];
if([base64String length]>0){
[dict setValue:base64String forKey:@"file_path"];
NSString * reqFormat= [NSString stringWithFormat:@"%@&email=%@&dev_id=%@",UploadImage,[[arrLoginDetails objectAtIndex:0] objectForKey:@"email"],APP_DELEGATE.stringDeviceID];
[manager POST:reqFormat parameters:dict1 success:^(AFHTTPRequestOperation *operation, id responseObject)
{
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"error:%@",error.debugDescription);
}
以下是我收到的错误:
数据格式不正确,无法读取。
错误:
错误:错误域=NSCocoaErrorDomain 代码=3840 "No value." UserInfo={NSDebugDescription=无值。}
如果我 nslog error.debugdescription 我得到 "The data couldn't be read because it isn't in the correct format."
请帮我解决这个错误。
谢谢。
试试下面的代码:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setStringEncoding:NSUTF8StringEncoding];
manager.requestSerializer=serializer;
manager.responseSerializer.acceptableContentTypes= [NSSet setWithObjects:@"text/html",@"application/json", nil];
[manager POST:reqFormat parameters:dict1 progress:nil success:^(NSURLSessionTask *task, id responseObject)
{
//Print response
} failure:^(NSURLSessionTask *operation, NSError *error) {
//Print error
}];
在 AFNetworking 3.0 中,AFHTTPRequestOperationManager
被替换为 AFHTTPSessionManager
。
其实出现这个问题主要有两个原因
- 当你的参数错误时。表示错误的值或缺少参数。
- 检查你的 URL。有时它发生的原因是你的错误 URL.
我出于同样的原因两次遇到同样的问题。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager setRequestSerializer:[AFJSONRequestSerializer serializer]];
[manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"user_id"];
[dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"shipper_id"];
[dict setValue:strUuid forKey:@"imageOrderId"];
[dict setValue:@"1" forKey:@"type"];
NSData * imageData = UIImageJPEGRepresentation([aryImages objectAtIndex:0], 0.7);
if([imageData length]>0){
NSString *base64String = [imageData base64EncodedStringWithOptions:0];
if([base64String length]>0){
[dict setValue:base64String forKey:@"file_path"];
NSString * reqFormat= [NSString stringWithFormat:@"%@&email=%@&dev_id=%@",UploadImage,[[arrLoginDetails objectAtIndex:0] objectForKey:@"email"],APP_DELEGATE.stringDeviceID];
[manager POST:reqFormat parameters:dict1 success:^(AFHTTPRequestOperation *operation, id responseObject)
{
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"error:%@",error.debugDescription);
}
以下是我收到的错误:
数据格式不正确,无法读取。
错误:
错误:错误域=NSCocoaErrorDomain 代码=3840 "No value." UserInfo={NSDebugDescription=无值。}
如果我 nslog error.debugdescription 我得到 "The data couldn't be read because it isn't in the correct format."
请帮我解决这个错误。
谢谢。
试试下面的代码:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setStringEncoding:NSUTF8StringEncoding];
manager.requestSerializer=serializer;
manager.responseSerializer.acceptableContentTypes= [NSSet setWithObjects:@"text/html",@"application/json", nil];
[manager POST:reqFormat parameters:dict1 progress:nil success:^(NSURLSessionTask *task, id responseObject)
{
//Print response
} failure:^(NSURLSessionTask *operation, NSError *error) {
//Print error
}];
在 AFNetworking 3.0 中,AFHTTPRequestOperationManager
被替换为 AFHTTPSessionManager
。
其实出现这个问题主要有两个原因
- 当你的参数错误时。表示错误的值或缺少参数。
- 检查你的 URL。有时它发生的原因是你的错误 URL.
我出于同样的原因两次遇到同样的问题。