AFNetworking POST und get Daten zurück
in meiner Iphone-app, die ich verwenden, AFNetworking, um POST-Daten an einen webservice, und bekommen Sie einige Daten zurück...
Hier ist mein Beispiel, ich bekomme immer "false" zurück als Antwort, was ich falsch mache?
NSURL *baseURL = [NSURL URLWithString:@"http://myPath/Iphone/method"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:baseURL];
[httpClient defaultValueForHeader:@"Accept"];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
[udid copy], @"uuid",
nil];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"http://myPath/Iphone/method" parameters:params];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[httpClient registerHTTPOperationClass:[AFXMLRequestOperation class]];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
response = [operation responseString];
NSLog(@"response: %@",response);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error: %@", [operation error]);
}];
[operation start];
EDIT: die Methode, die ich in der Url aufrufen gibt einen string zurück (ohne die Zeichenfolge ist nicht falsch)
[HttpPost]
public bool checkIphone(string uuid)
{
IDictionary<string,object> check = Request.Properties;
uuid = check["uuid"].ToString();
//do anything with the uuid
if (1<0)
{
return true;
}
else
{
return false;
}
}
diese Methode rufe ich mit meinem iphone und normalerweise sollte es die xml zurückgeben, oder?
InformationsquelleAutor Chris | 2012-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie mit einem komplizierten Aufbau, den Betrieb, aber es funktioniert.
Aber sollte es funktionieren, die Sache, die Sie fehlen, weisen die XMLparser.
In der Dokumentation von AFXMLRequestOperation angegeben ist.
Gibt es auch nicht brauchen, um die NSURLRequest über die
AFHTTPClient
, können Sie einfach erstellen Sie selbst oder verwenden Sie denAFHTTPClient
zu tun die Schaffung desAFHTTPRequestOperation
für Sie.Verwenden AFHTTPClient nur zurück, was der server zurückgibt :
Die nicht verwenden
AFXMLRequestOperation
und nicht legen Sie es als Standard-Klasse in derAFHTTPClient
nur mit einem einfachenAFHTTPRequestOperation
und pase derresponseObject
zuRaptureXML
[httpClient postPath:@"Methode" params Erfolg:^(AFHTTPRequestOperation *Betrieb, id responseObject) {} haben Sie ein problem mit dieser Zeile, was soll Erfolg stehen hier in diesem Fall?
Den Fehler behoben auf der Linie.
Ja, ich bin sicher, da ist die Basis-URL festlegen, auf die
AFHTTPClient
und es wird anfügen-Methode an die URL. Sieht aus wie das responseObject ist einNSData
. Versuchen Sie dies:NSString *responseString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; NSLog(@"response: %@", responseString);
InformationsquelleAutor rckoenes
Hast du ein Tippfehler hier?
[udid copy], @"uuid",
udid ist ein NSString mit der uuid aus dem Iphone
InformationsquelleAutor ElasticThoughts