繁体   English   中英

在Objective-c中使用AFNetworking对字典进行URL编码

[英]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);
}];

当我将dictReqstr作为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM