so senden Sie ein array als parameter in Afnetwoking post-Methode?
Hallo brauche ich zum senden ein array als einer der parameter in Afnetworking Query-String
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://192.008.0.28/aaa/a/"]];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"20", @"Miles", [NSArray arrayWithObjects:@"1",@"2",@"3",nil], @"Interval", nil];
[httpClient postPath:iUpdateNotificationMethod parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Request Successful, response '%@'", responseStr);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[HTTPClient Error]: %@", error.localizedDescription);
}];
Aber der server-Seite haben wir "Meilen":20,"Intervalle":null, wie es zu beheben
Danke,
Ist es das, was Ihr sucht? stackoverflow.com/questions/11088025/...
InformationsquelleAutor sabeer | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, Diese
InformationsquelleAutor Webber Lai
Da Sie die übermittlung ein array, AFNetworking ist die Erzeugung eines unterschiedlichen parameter-name und überlädt es mit den Werten, die Sie liefern. Zum Beispiel, Ihren Wunsch generiert die folgenden querystring:
Dieser ist definiert in
AFHTTPClient.m
imAFQueryStringPairsFromKeyAndValue
Funktion.Wenn Sie möchten, halten Sie die original-parameter, müssen Sie entscheiden, wie Sie konvertieren Sie Ihre
NSArray
zuNSString
selbst. Zum Beispiel, Sie können etwas tun, wie[myArray componentsJoinedByString:@","]
und dann teilen Sie es zurück, um Elemente auf dem server. Wenn Sie diese Methode wählen, hüten Sie sich vor der Verwendung von Zeichen, die erscheinen mag, in Ihrem tatsächlichen Daten.Dies ist ein design-Problem. Wenn Sie ein array übergeben, als ein HTTP-parameter, AFNetworking werden müssen, konvertieren Sie es in ein HTTP query string. Sie können denken Sie an verschiedene Wege, das zu tun (wie in der Verknüpfung der input-mit
,
). Die gewählte Methode war eine andere - markieren Sie den parameter als ein array, indem Sie mit[]
. Daher werden Sie entweder brauchen, um Ihre server-side um dies zu umgehen, oder übergeben Sie eineNSString
was ist gefertigt aus Ihr trat ursprüngliche array in der client.InformationsquelleAutor StatusReport
Ich glaube, dass dies funktionieren wird:
params = @{ @"Meilen": @"20", @"Intervall": @[@"1",@"2",@"3"] };
NSDictionary
wie es erstellt wurde, vor.Sorry - sind Sie richtig. Ich dachte er war mit AFJSONRequestOperation. Aber in diesem Fall würde gearbeitet haben.
InformationsquelleAutor KHansenSF