iPhone - Как реализовать функцию обратной связи напрямую на сервер - PullRequest
0 голосов
/ 20 сентября 2011

Я разработчик для iPhone, и недавно я перешел на PHP.

На сайте, который я недавно сделал для кого-то, я сделал форму обратной связи . Это передает данные в файл PHP через POST, а затем мои коды PHP сохраняют их в базе данных MySQL. Человек, для которого я создал сайт, сможет просмотреть его на CMS, которую я для них сделал.

Это все замечательно (и у меня нет проблем с PHP), но что, если я захочу сделать это из приложения для iphone (прямо на сервер)?

Сделаете ли вы запрос GET следующим образом: http://www.mysite.com/app_data/submit_feedback.php?api_key=somekey&name=somename&email=someemail&feedback=lots%20of%20characters%20with%lots%20of%20escapes%20in

Или можно отправить данные POST с iPhone? Должен ли я использовать ASIHTTPRequest? Или я должен упаковать данные в XML / JSON и как-нибудь загрузить файл?

Буду признателен за любые советы по этому вопросу.

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Для этого требуется ASIHTTPRequest, особенно подкласс ASIFormDataRequest. Вы можете загрузить запрос с полями почтовых данных, а затем асинхронно грохнуть его на сервере в фоновом режиме. Идеально подходит для такого рода вещей.

Здесь много хорошего примера кода: http://allseeing -i.com / ASIHTTPRequest / Как в использовании # sending_a_form_post_with_ASIFormDataRequest

1 голос
/ 20 сентября 2011

Вы можете использовать ASIHttpRequest или использовать стандартные API NSURLConnection и NSMutableURLRequest.

Вы можете отправить POST, используя NSMutableURLRequest:

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlEncoded]
                                                          cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                      timeoutInterval:60];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[ requestBody dataUsingEncoding:NSUTF8StringEncoding]];

....

theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

Я мог бы продолжить и предоставить полный пример, ноВы должны просто посмотреть на пример яблок

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...