? 最近iOS開發(fā)中,客戶端需要使用http POST去進(jìn)行請(qǐng)求服務(wù)器劫樟。需要發(fā)送的是XML格式的,當(dāng)然接收的也是XML蛋勺。我們準(zhǔn)備使用的是AFNetworking來實(shí)現(xiàn)。關(guān)于AFnetworking的使用以及Cocoapods包管理鸠删,請(qǐng)參考我的其他幾篇博客:《iOS項(xiàng)目開發(fā)實(shí)戰(zhàn)——使用AFNetworking進(jìn)行Http Get請(qǐng)求》抱完,《查看進(jìn)行AFNetworking請(qǐng)求時(shí)的頭部信息》,《iOS包管理工具Cocoapods的安裝與使用》冶共。
我進(jìn)行請(qǐng)求的代碼實(shí)現(xiàn)如下:[objc] view plain copy print?
-(void)query05{? ? ?
?AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];? ? ? ??
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];? ? ? ? NSString *str = @""? ? ""? ? "****"? ? "***"? ? "***"? ? "***"? ? "";? ? ? ?
?NSDictionary *parameters = @{@"test":str};? ? ? ?
?[manager POST:@"http://***.php"parameters:parameters? ? ? ? ? ? ? success:^(AFHTTPRequestOperation *operation,id responseObject)? ? {? ? ? ? ? ? ? NSLog(@"Success: %@", responseObject);? ? ? ? ? ? }failure:^(AFHTTPRequestOperation *operation,NSError *error)? ? {? ? ? ? ? ? ? NSLog(@"Error: %@", error);? ? ? ? ? ? }];? }? ? ? 但是當(dāng)運(yùn)行程序后乾蛤,出現(xiàn)如何錯(cuò)誤:Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}如圖:每界。? ? 這個(gè)bug的確很詭異捅僵,我根本沒有做任何關(guān)于JSON的操作,卻給我報(bào)了一個(gè)JSON的錯(cuò)眨层。最后查了很多資料庙楚,解決方案如下:主要是增加了幾行代碼:[html] view plain copy print?- (void)query05{? ? ? ? //增加這幾行代碼;? ? AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];? ? [securityPolicy setAllowInvalidCertificates:YES];? ? ? ? AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];? [html] view plain copy print?//這里進(jìn)行設(shè)置趴樱;? ? [manager setSecurityPolicy:securityPolicy];? ? manager.responseSerializer = [AFHTTPResponseSerializer serializer];? ? ? ? NSString *str = @""? ? ""? ? "***"? ? "***"? ? "***"? ? "***"? ? "";? ? ? ? NSDictionary *parameters = @{@"test" : str};? ? ? ? [manager POST:@"http://***.php"? ? ? parameters:parameters? ? ? ? ? success:^(AFHTTPRequestOperation *operation,id responseObject){? ? ? ? ? ? NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];? ? ? ? ? ? NSLog(@"成功: %@", string);? ? ? ? ? }? ? ? ? ? failure:^(AFHTTPRequestOperation *operation,NSError *error){? ? ? ? ? ? NSLog(@"失敗: %@", error);? ? ? ? ? }];? }? ? ? 通過以上的修改馒闷,就能成功的獲得服務(wù)器的數(shù)據(jù)了。
原文:鏈接http://blog.csdn.net/chenyufeng1991/article/details/49980205