Форум программистов, компьютерный форум CyberForum.ru

Передача данных с клиента на сервер и обратно - Objective-C

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Auron
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 99
07.07.2014, 01:39     Передача данных с клиента на сервер и обратно #1
Доброго времени суток. Вопрос состоит в следующем у меня в приложении есть регистрация. Поля для ввода (E-mail,Password, Repeat Password, Nick) мне поля email,pass,nick нужно отправить на сервер и от сервера получить ответ и уникальный id для каждого пользователя, я использую AFNetworking. вот код:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 // инициальзация менеджера
    NSURL *baseURL = [NSURL URLWithString:Server];
    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];
    
    //инициализируем обработчик
    AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
    [requestSerializer setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-type"];
    
    //инициализируем обработчик респонса. Он распарсит Json в словарь
    AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];
    
    manager.requestSerializer = requestSerializer;
    manager.responseSerializer = responseSerializer;
    
    
    NSDictionary *regInfoDict = @{Email : self.EmailTextField.text, Password : self.PasswordTextField.text, Nick : self.NickTextField.text};
    [manager POST:@"/gps.php" parameters:regInfoDict success:^(NSURLSessionDataTask *task, id responseObject){
        self.task = task;
        NSLog(@"successful response : %@", task.response);
        NSLog(@"response: %@", responseObject);
        NSLog(@"original request: %@", task.originalRequest);
    }
          failure:^(NSURLSessionDataTask *task, NSError *error){
              NSLog(@"request: %@", task.originalRequest);
              NSLog(@"Error = %@", error);
              
              UIAlertView *offlineAlert = [[UIAlertView alloc] initWithTitle:@"GeoLive" message:@"The Internet connection appears to be offline" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
              
              [offlineAlert show];
          }];
    
    self.uid = @"ka1234567890";
    //Записывыем UID в конфиг приложения
    if(![self.uid isEqualToString:@""]){
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        UILabel *pathLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 120, self.view.frame.size.width, 100)];
 
        [defaults setObject:self.uid forKey:@"UID"];
        pathLabel.text = [defaults objectForKey:@"UID" ];
        
        [defaults synchronize];
        [self.view addSubview:pathLabel];
        
        NSLog(@"Data Saved");
    }
    NSLog(@"Send");
Вопрос в том что в логе пишется что ответ получен но ничего нет. На сервере есть таблица в ней есть эти поля и поле id которое генерируется сервером и отсылается мне. В чем проблема? Спасибо заранее за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.07.2014, 09:35     Передача данных с клиента на сервер и обратно #2
Цитата Сообщение от Auron Посмотреть сообщение
что в логе пишется что ответ получен но ничего нет. На сервере есть таблица в ней есть эти поля и поле id которое генерируется сервером и отсылается мне.
А может ничего не отсылается с сервера?

Что выводится на строках
Objective-C
1
2
3
NSLog(@"successful response : %@", task.response);
        NSLog(@"response: %@", responseObject);
        NSLog(@"original request: %@", task.originalRequest);
то вы и получаете.
Auron
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 99
07.07.2014, 18:28  [ТС]     Передача данных с клиента на сервер и обратно #3
вот что выводится

2014-07-07 18:27:38.619 Live[6447:737817] successful response : <NSHTTPURLResponse: 0xf22c7d0> { URL: http://bronzes.su/gps.php } { status code: 200, headers {
"Cache-Control" = "no-store, no-cache, must-revalidate, post-check=0,pre-check=0, max-age=0";
Connection = "keep-alive";
"Content-Type" = "text/html; charset=windows-1251";
Date = "Mon, 07 Jul 2014 14:27:38 GMT";
Expires = "Mon, 26 Jul 1997 05:00:00 GMT";
"Last-Modified" = "Mon, 07 Jul 2014 14:27:38 GMT";
Pragma = "no-cache";
Server = "nginx/1.2.1";
"Transfer-Encoding" = Identity;
"X-Powered-By" = "PHP/5.3.13";
} }
2014-07-07 18:27:38.619 Live[6447:737817] response: <>
2014-07-07 18:27:38.619 Live[6447:737817] original request: <NSMutableURLRequest: 0xf22e630> { URL: http://bronzes.su/gps.php }
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.07.2014, 19:08     Передача данных с клиента на сервер и обратно #4
Auron, вы сами-то по http://bronzes.su/gps.php ходили?
Там пусто. Поэтому ничего и нет.

Копайте сервер.
Auron
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 99
07.07.2014, 19:33  [ТС]     Передача данных с клиента на сервер и обратно #5
на сервере лежит база mysql с двумя таблицами. и одна из таблиц users туда и должна записываться инфа из реги.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.07.2014, 21:10     Передача данных с клиента на сервер и обратно #6
Auron, еще раз. Вы посылаете на сервер данные.
Сервер вам отвечает, но ничего в поле body ответа не отсылает.
Вот вы ничего и не видите на клиенте.
Видите только заголовочную информацию(headers), что все прошло удачно(код http 200)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 19:55     Передача данных с клиента на сервер и обратно
Еще ссылки по теме:

Objective-C Как преобразовать число в строку и обратно
Objective-C Передача аргументов между контроллерами
Программа клиент сервер Objective-C
Objective-C Передача данных между экранами
Objective-C База клиентов. Личные кабинеты клиента и админа. IOS

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
mercooliy
6 / 6 / 0
Регистрация: 12.05.2013
Сообщений: 130
08.07.2014, 19:55     Передача данных с клиента на сервер и обратно #7
Для вашего функционала надо php скрипт с get параметрами чтобы была вот такая строка www.server.ru?parametr1=xxx&parametr2=yyyy и т д, а в php скрипте уже делаете с этими данными что хотите, хоть в базу хоть дальше))) а ответ формируйте наверно лучше как json. А юзать можно просто nsurlconnection и его методы (получение, обработка данных). Ну эт имхо. Я так понял у вас немного по другому всё работает)) но мне кажется как я предложил интереснее и гибче))))
Yandex
Объявления
08.07.2014, 19:55     Передача данных с клиента на сервер и обратно
Ответ Создать тему
Опции темы

Текущее время: 15:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru