0

У меня есть приложение, которое отправляет данные в PHP-скрипт с NSURLRequest и NSURLConnexion. Я хочу отправить данные типа «Hello world» с помощью метода post, и я хочу отображать в своем приложении «Hello world from myPHPScript.php!». но у меня нет опыта работы с веб-сервисом и специально n PHP.Получить данные из PHP-скрипта с NSURLRequest

Вот моя цель-с кодом, который посылает запрос:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL 

           URLWithString:@"http://localhost:8888/testNSURL/index.php"] 

           cachePolicy:NSURLRequestUseProtocolCachePolicy 

           timeoutInterval:60.0]; 

    [request setHTTPMethod:@"POST"]; 
    NSString *postString = @"myVariable=Hello world !"; 
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 

    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

    if (theConnection) { 

     receiveData = [NSMutableData data]; 

} 

И это мой PHP код:

<?php 
if(isset($_REQUEST["myVariable"])) { 
    echo json_encode("Hello from index.php !"); 
} 
else echo json_encode('Request failed'); 
?> 

Мои вопросы:

  • Является ли мой PHP код правильный?
  • Как я могу поймать echo json_encode("Hello from index.php !"); в моем приложении obj-c?

ответ

0

Я лично использую ASIFormDataRequest при размещении вещей на сервере. Когда вы получите информацию обратно из этого метода вы можете просто сделать что-то вроде этого, чтобы получить значение данных/строковое все, что было echo'd на сервере:

- (void)requestFinished:(ASIHTTPRequest *)aRequest { 
    NSData *responseData = [aRequest responseData]; 
    NSString *responseString = [aRequest responseString]; 
} 

Получение строки из информации данных осуществляется как так:

[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] 
+0

Я использовал его, но у меня было много ошибок/предупреждения и без АРК, поэтому я использовал NSURLRequest/NSURLConnexion – Edelweiss

+0

о, никогда не было никаких проблем с этим вообще .. Может быть, я могу помочь вам с этими ошибками? – Manuel

+0

Я также добавил способ получить строку из nsdata :) – Manuel