看了一点AFNetworking 的知识,不太懂该如何使用AFJSONRequestSerializer ,网上查了一下,分享一下.
NSMutableDictionary *dic=[[NSMutableDictionary alloc]init];
[dic setObject:@"apple" forKey:@"brand"];
NSString *url=@"http://xxxxx";//你的接口地址
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer=[AFJSONRequestSerializer serializer];//申明请求的数据是json类型
manager.responseSerializer = [AFJSONResponseSerializer serializer];//申明返回的结果是json类型
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];//如果接受类型不一致请替换一致
[manager POST:urlStr
parameters:dic
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// write your code here
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// write your code here
}];
常遇到下面的几种情况:
1、 服务端需要返回一段普通文本给客户端,Content-Type="text/plain"
2 、服务端需要返回一段HTML代码给客户端 ,Content-Type="text/html"
3 、服务端需要返回一段XML代码给客户端 ,Content-Type="text/xml"
4 、服务端需要返回一段javascript代码给客户端 Content-Type="text/javascript "
5 、服务端需要返回一段json串给客户端 Content-Type="application/json"
javascript 的 contentType 按最标准的写法 应该是 application/javascript。而常用的 text/javascript 已经被 rfc定义为废弃的。
但是 在这里暂时不建议使用 application/javascript . 大家还是继续使用 text/javascript 为好. 因为很多老旧浏览器并不支持 application/javascript . 而所有浏览器都支持text/javascript. 在标准和广泛的兼容性之间 还是暂且选择后者吧。
json 的 contentType 常见写法有 : text/json & text/javascript .
但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义. 对于json的contentType , rfc里定义的标准写法是 :application/json.
ios 中Content-Type 的类型还有:
plist :Content-Type = "application/x-plist"