AFNetWorking的网络请求是异步执行的,完成以后的回调代码是在主线程的。
AFNetWorking默认会对JSON解析,也就是反序列化。
如果需要解析XML,那么需要添加代码,它将会设置为NSXMLParser解析器解析,也就是说后面还是需要使用SAX方式手动解析。
manager.responseSerializer = [AFXMLParserResponseSerializer serializer];
不需要参数的GET方法
-(void)getDemo1
{
NSString *urlStr = @"http://127.0.0.1/videos.json"
//创建一个对象
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//方法返回两种情况
[manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){
NSLog(@"正常返回服务器数据的情况");
}failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"访问出错的情况");
}
}
带参数的GET方法,只需要把参数写到一个字典里,然后传递到parameters处就可以了。
POST方法和GET带参数时的情况使用的方法基本一样,只需要把方法中的GET写成POST就可以了。
另:发送给服务器的请求格式支持的解析器有二进制的数据格式、JSON、PList这三种。
响应的解析器默认直接解析JSON,另外支持二进制数据、XML、Image。