在Objective-c中使用AFNetworking对字典进行编码 [英] Url Encoding of dictionary with AFNetworking in Objective-c
问题描述
我必须以下列格式向服务器发送 POST
请求:
i have to send POST
request in following format to the server:
内容类型: application / x-www-form-urlencoded
表格密钥:数据
表格价值:
Content Type: application/x-www-form-urlencoded
Form Key : data
Form Value :
[
{
"email" : "test@test.com",
"password" : "test@test.com"
}
]
当我在网络休息客户端(邮差/提前休息客户端)中以此格式发送请求时,我得到了回应。
When i send request by this format in web rest client (Postman/Advance Rest Client),i got success in response.
那我怎么能发送这种类型回复 AFNetworking
?
So how can i send this type of response with AFNetworking
?
我的代码 Objective-c
是
NSDictionary *dictLogin = @{@"email":@"test@test.com",@"password":@"test@test.com"};
NSDictionary *dictReq = @{@"data":@[dictLogin]};
NSData *data = [NSJSONSerialization dataWithJSONObject:dictReq options:NSJSONWritingPrettyPrinted error:nil];
NSString *strReq = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:@"http://test.php" parameters:dictReq success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
当我通过 dictReq 或 str 时AFNetworking参数我得到了来自服务器的缺失参数/失败响应的响应
When i pass dictReq or str as AFNetworking parameter i got response of missing parameter/failure response from server
如果使用 AFNetworking
不可能或很难, NSUrlConnection / Request
也可以使用
If it's not possible or hard with AFNetworking
, NSUrlConnection/Request
will also work
谢谢
推荐答案
尝试这种方式,我已经将AFNetworking用于许多项目。并且必须编码参数。
Try it this way, I've used AFNetworking for many projects. And ever had to encode Parameters.
NSDictionary *dictLogin = @{@"email":@"test@test.com",@"password":@"test@test.com"};
NSDictionary *dictReq = @{@"data":@[dictLogin]};
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:@"http://test.php" parameters:dictReq success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
这篇关于在Objective-c中使用AFNetworking对字典进行编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!