0

Ich habe eine App, die Daten an ein PHP-Skript mit dem NSURLRequest und NSURLConnexion sendet. Was ich will, ist eine Daten wie "Hallo Welt" mit Post-Methode zu senden, und ich möchte auf meiner App anzeigen "Hallo Welt von myPHPScript.php!" aber ich habe keine Erfahrung mit Web-Service und speziell n PHP.Empfangen von Daten aus PHP-Skript mit NSURLRequest

Hier ist mein Ziel-C-Code, der die Anforderung sendet:

- (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]; 

} 

Und das ist mein PHP-Code:

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

Meine Fragen sind:

  • Ist mein PHP Code richtig?
  • Wie kann ich die echo json_encode("Hello from index.php !"); in meiner Obj-c App fangen?

Antwort

0

Ich persönlich benutze ASIFormDataRequest beim Posten von Dingen auf einem Server. Wenn Sie Informationen von dieser Methode zurückkommen können Sie einfach etwas tun, wie dies die Daten/string Wert aller zu erhalten, die auf dem Server echo'd wurde:

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

eine Reihe von Daten Informationen erhalten erfolgt wie so:

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

ich es benutzt, aber ich hatte eine Menge Fehler/Warnung mit und ohne ARC, das ist, warum ich NSURLRequest/NSURLConnexion – Edelweiss

+0

Oh verwendet, hatte nie wirklich keine Probleme mit ihm überhaupt .. Vielleicht Ich kann dir mit diesen Fehlern helfen? – Manuel

+0

Ich habe auch den Weg, um eine Zeichenfolge von Nsdata bekommen :) – Manuel

Verwandte Themen