Отправка NSMutable Array в php-скрипт в iOS - PullRequest
3 голосов
/ 26 января 2012

Я создаю приложение для iPhone, которое должно отправить пару массивов в сценарий php, а затем сценарий php должен взять значение (я) этих массивов и записать файл xml. Я знаю, как написать файл xml с помощью php, но я не уверен, как отправить данные в скрипт php из приложения iOS ...

Можно ли даже отправить php-скрипт пару целочисленных аргументов из iOS? Извините, я очень новичок в php и iOS (программирование в общем случае).

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 января 2012

Тайлер, вы можете использовать следующий фрагмент кода для публикации данных.

[NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:<your php url>];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:@"var1=val1&var2=val2"]; //Replace with your actual name/parm values
[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

Чтобы отправить массив NSMutableArray, вы должны выполнить итерацию массива и создать объект NSString, содержащий строковое представление массива. Затем вы должны установить эту строку в качестве http тела.

0 голосов
/ 26 января 2012

Вероятно, было бы лучше отправить запрос POST на ваш сайт с NSMutableArrays как JSON.

Оформление платформы JSONKit для JSON и ASIHTTPRequest для запросов HTML.

https://github.com/johnezang/JSONKit

http://allseeing -i.com / ASIHTTPRequest /

0 голосов
/ 26 января 2012

сделать запрос GET или POST из приложения iOS

пример:

NSURL *url = [NSURL URLWithString:@"http://www.site.com/sendData.php"];

        NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url 
                                                                  cachePolicy:NSURLRequestReloadIgnoringCacheData 
                                                              timeoutInterval:60];

        [theRequest setHTTPMethod:@"POST"];     
        [theRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

        NSString *postData = [NSString stringWithFormat:@"name1=%@&name2=%@", data1, data2];

        NSString *length = [NSString stringWithFormat:@"%d", [postData length]];    
        [theRequest setValue:length forHTTPHeaderField:@"Content-Length"];  

        [theRequest setHTTPBody:[postData dataUsingEncoding:NSASCIIStringEncoding]];

        NSURLConnection *sConnection = [NSURLConnection connectionWithRequest:theRequest delegate:self];    
        [sConnection start];

Чтобы загрузить содержимое URL-адреса, приложение должно предоставить объект делегата, который, как минимум, реализует следующее методы делегата: соединение: didReceiveResponse :, соединение: didReceiveData :, соединение: didFailWithError: и connectionDidFinishLoading:.

о NSURLConnection о NSURLRequest

...