Ios Objective-c中基于AFN网络的词典Url编码

Ios Objective-c中基于AFN网络的词典Url编码,ios,objective-c,http-post,afnetworking-2,url-encoding,Ios,Objective C,Http Post,Afnetworking 2,Url Encoding,我必须以以下格式向服务器发送POST请求: 内容类型:application/x-www-form-urlencoded 表单键:数据 表单值: [ { "email" : "test@test.com", "password" : "test@test.com" } ] 当我在WebREST客户端(邮递员/高级rest客户端)中以这种格式发送请求时,我得到了成功的响应 那么如何使用AFNetworking发送这种类型的响应呢 我的Objective-c代码是 NSD

我必须以以下格式向服务器发送
POST
请求:

内容类型:
application/x-www-form-urlencoded

表单键:数据

表单值:

[
 {
   "email" : "test@test.com",
   "password" : "test@test.com"     
 }
]
当我在WebREST客户端(邮递员/高级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);
}];
当我将dictReqstr作为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);

}];

您是否确保您的密钥对于JSON是正确的,并且是服务器端所期望的密钥?因为上面的JSON示例与您在Objective cYes中通过代码生成的不同,所以参数是相同的,您发现两者有什么不同?在rest客户端中,我将数据键和参数分开,我的代码作为字典编写。您已经解决了这个问题。你能分享一下你的解决方案吗?嗨,我使用的是相同的代码,这和我的代码有什么区别?除了AFNetworking,你正在尝试自己序列化数据,而不是让AFNetworking序列化它。不要序列化它并将其转换为NSData。