2012-04-12 9 views
0

Ich möchte String-Daten an einen PHP-Server mit der ASIHTTPRequest AppendPostData-Methode senden, aber es funktioniert nicht.ASIHTTPRequest appendPostData funktioniert nicht

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request appendPostData:[@"123456" dataUsingEncoding:NSUTF8StringEncoding]]; 
[request startAsynchronous]; 

Ich habe versucht, einige Änderungen an der Anforderung selbst mag:

[request setRequestMethod:@"POST"]; 
[request buildPostBody]; 

aber auch dies nicht funktioniert.

Wenn ich die

[request addPostValue:@"Ben" forKey:@"names"]; 

Syntax es funktioniert.

Hat jemand eine Idee, was ist hier falsch ?!

Antwort

1

ich dies in der Regel verwenden:

- (void)performPostRequestWithString:(NSString *)string stringDictionary:(NSDictionary *)stringDictionary dataDictionary:(NSDictionary *)dataDictionary delegate:(id)requestDelegate requestSelector:(SEL)requestSelector errorSelector:(SEL)errorSelector { 

    //localCopy = self; 

    self.delegate = requestDelegate; 
    self.callback = requestSelector; 
    self.errorCallback = errorSelector; 

    NSURL *url = [NSURL URLWithString:string]; 

    postRequest = [[ASIFormDataRequest alloc] initWithURL:url]; 
    [postRequest setDelegate:self]; 
    [postRequest setRequestMethod:@"POST"]; 

    if (stringDictionary) 
     for (NSString *key in [stringDictionary allKeys]) 
      [postRequest setPostValue:[stringDictionary objectForKey:key] forKey:key]; 

    if (dataDictionary) 
     for (NSString *key in [dataDictionary allKeys]) 
      [postRequest setData:[dataDictionary objectForKey:key] forKey:key]; 

    //NSLog(@"request url = %@", [postRequest.url absoluteString]); 
    [postRequest startAsynchronous]; 
} 

Parameter:

  • (NSString *)string - URL-String, wo Ihre Anfrage zu senden;
  • (NSDictionary *)stringDictionary - Wörterbuch, das alle Textinformationen enthält (wie Name, ID usw.);
  • (NSDictionary *)dataDictionary - Wörterbuch, das alle Dateninformationen (wie Fotos, Dateien usw.) enthält;
  • (id)requestDelegate - Delegieren, um Selektoren unten durchzuführen;
  • (SEL)requestSelector - Selektor, der bei erfolgreicher Anforderung ausgeführt wird;
  • (SEL)errorSelector - Selektor, der ausgeführt wird, während ein Fehler aufgetreten ist.

P.S. Selektoren werden in der ASIHTTPRequest Delegate Implementierung verwendet

+0

danke Männer !! – user944351

Verwandte Themen