Żądanie POST z AFNetworking 2.0 nie działa, ale działa w testerze żądania HTTP
Właśnie zacząłem używać nowegoAFNetworking 2.0
Interfejs API już od jakiegoś czasu używa poprzednich wersji. Próbuję zrobić standard torfowiskahttp POST request
, ale niestety nie za dobrze. To jest mój obecny kod:
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
[operationManager POST:@"https:URL GOES HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Teraz zwraca aJSON
z(NULL)
i nie daje mi kodu statusu404
lub coś (nawiasem mówiąc, jak uzyskać kod statusu podczas korzystania z AFN 2.0?). Jednak gdy próbuję informacji za pomocą aplikacji internetowej, takiej jakapikitchen.com który testujeHTTP Post request
dla mnie działa, gdy umieściłem nazwę użytkownika i hasło wparam
pole. Więc moje pytanie brzmi: dlaczego nieparameters
wAFN 2.0 parameter property
działać w taki sam sposób jakparameters
w aplikacji internetowej? A bardziej ogólnie, dlaczego niepost request parameters
pracuję dla mnie wAFN 2.0
?
Dzięki za pomoc z góry,
Mikrofon
EDYTOWAĆ: Walczę z wdrożeniem sugerowanej poprawki. Metoda My Post wygląda teraz tak, ale teraz nie ma to dla mnie sensu.
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
operationManager.requestSerializer.queryStringSerializationWithBlock =
^NSString*(NSURLRequest *request,
NSDictionary *parameters,
NSError *__autoreleasing *error) {
NSString* encodedParams = form_urlencode_HTTP5_Parameters(parameters);
return encodedParams;
};
[operationManager POST:@"URL HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];