как опубликовать параметр типа {register_id:3} в AFNetworking

я пробовал это, но не работал в AFNetworking, показывая только ошибку параметров, но я использовал почтальона для проверки, и когда я отправляю данные с помощью ключа и значения, он показывает ошибку, но из необработанных данных я отправляю {"register_id": "3"}, тогда это будет покажите мне данные, чтобы опубликовать такой параметр в AFNetworking.

используя эту ссылку

http://www.icubemedia.net/visitorbook/display_all.php

кто-нибудь может помочь мне в этом, как опубликовать эти данные

ошибка журнала:

2015-06-19 14:05:08.078 DemoAFNetworking[72771:1160924] {"msg":"параметр отсутствует!"}


person vp2698    schedule 19.06.2015    source источник


Ответы (2)


В этом примере показано, как выполнить GET с простым параметром в AFNetworking 2.0:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSDictionary *parameters = @{@"foo": @"bar"};

[manager GET:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

EDIT 1: добавлен сериализатор JSON;)

person Massimo Polimeni    schedule 19.06.2015
comment
я уже пробовал это, но не работало, только отображалось сообщение об отсутствии параметра - person vp2698; 19.06.2015
comment
вы уверены, что ваш параметр называется register_id? Вы уверены, что вам нужен только один параметр? - person Massimo Polimeni; 19.06.2015
comment
Но в почтальоне я попробовал эти данные с необработанными данными, такими как {register_id:3}, и они показывают мне данные, но я в xcode это не сработало, есть ли способ передать параметры json в afnetworking - person vp2698; 19.06.2015
comment
можете ли вы добавить в свой вопрос полную ошибку журнала? - person Massimo Polimeni; 19.06.2015
comment
2015-06-19 14:05:08.078 DemoAFNetwoking[72771:1160924] {msg:параметр отсутствует!} - person vp2698; 19.06.2015
comment
это ошибка пришла из API. я не могу понять, что у меня был параметр отправки в правильном формате, но он не работал - person vp2698; 19.06.2015
comment
мм извините, но на данный момент у меня нет других идей. Вы должны тщательно проверить свой код, потому что сервер отвечает (поэтому вызов правильный) на ваш запрос, но что-то не так с параметрами. Если вы действительно застряли, вы можете попробовать сделать тот же запрос с помощью NSURL, возможно. - person Massimo Polimeni; 19.06.2015
comment
Ваш код правильный, но только забыл упомянуть AFJSONRequestSerializer. Но спс за ответ - person vp2698; 20.06.2015

Действительно, никаких параметров не пропущено, ключевым моментом было то, что запрос работал в Postman. С одной стороны, вы должны пытаться отправить этот URL-адрес POST, а не GET. С другой стороны, поскольку вы отправляете JSON, вам нужен соответствующий сериализатор.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//JSON Serializer
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSDictionary *parameters = @{@"register_id": @"3"};

[manager POST:@"http://www.icubemedia.net/visitorbook/display_all.php" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
  NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  NSLog(@"Error: %@", error);
}];
person J.C. Chaparro    schedule 19.06.2015
comment
Спасибо, что мне очень помогаете - person vp2698; 20.06.2015