首页 > 代码库 > IOS AFN 通过body传递参数给服务器
IOS AFN 通过body传递参数给服务器
- 讲真我对于这种奇葩写法是深恶痛绝,由于奇葩的项目要求和人员的跳槽留下的大坑简直是无语,不希望下一个还是这样被坑。
- 先将AFN文件导入 或者pod啊
NSDictionary *parameters; parameters = @{@"type":@"getpath",@"path":_path}; // 设置参数 根据你们服务器的格式设置 NSString *temp = [NSString stringWithFormat:@"{\"type\":\"getpath\",\"path\":\"%@\"}",_path]; NSData *data =http://www.mamicode.com/ [temp dataUsingEncoding:NSUTF8StringEncoding]; NSString *requestUrl = [NSString stringWithFormat:@"%@%@",WEBURL_PREFIX,WEBURL_GETDIR];//请求的URL 我是直接从代码上copy的 so 这个应该知道怎么弄吧 AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; //如果你不需要将通过body传 那就参数放入parameters里面 NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:requestUrl parameters:nil error:nil]; NSLog(@"requestURL:%@",requestUrl); request.timeoutInterval= 10; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; // 设置body 在这里将参数放入到body [request setHTTPBody:data]; AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer]; responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html", @"text/json", @"text/javascript", @"text/plain", nil]; manager.responseSerializer = responseSerializer; [[manager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse *response,id responseObject,NSError *error){ if(responseObject!=nil){ NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil]; NSString *type = [jsonDict objectForKey:@"type"]; NSString *path = [jsonDict objectForKey:@"path"]; if ([type isEqualToString:@"getpath"]) { if ([path isEqualToString:_path]) { _diskList = [jsonDict objectForKey:@"disk"]; _folderList = [jsonDict objectForKey:@"folder"]; _documentList = [jsonDict objectForKey:@"document"]; NSLog(@"%@",@"path is correct"); }else{ NSLog(@"%@",@"path is not correct"); } }else{ NSLog(@"%@",@"type is not getpath"); } [self.tableView reloadData]; NSLog(@"%@",result); } }]resume];
IOS AFN 通过body传递参数给服务器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。