[英]Url Encoding of dictionary with AFNetworking in Objective-c
我必须将以下格式的POST
请求发送到服务器:
内容类型: application/x-www-form-urlencoded
Form Key : data
表格价值:
[
{
"email" : "test@test.com",
"password" : "test@test.com"
}
]
当我在Web Rest客户端(Postman / Advance Rest客户端)中以这种格式发送请求时,我得到了成功的响应。
那么,如何通过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参数传递时,我收到了服务器缺少参数/失败响应的响应
如果无法使用AFNetworking
或很难使用AFNetworking
,则NSUrlConnection/Request
也将起作用
谢谢
尝试这种方式,我在许多项目中都使用了AFNetworking。 而且曾经不得不编码参数。
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);
}];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.