在Objective-c中使用AFNetworking对字典进行编码 [英] Url Encoding of dictionary with AFNetworking in Objective-c

查看:161
本文介绍了在Objective-c中使用AFNetworking对字典进行编码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须以下列格式向服务器发送 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆