Tentativo di inviare informazioni sui parametri nidificati a un'app per rails e di avere qualche problema.Utilizzo di ASIHTTPRequest ai parametri nidificati POST mediante un NSDictionary
#pragma mark - Begin Network Operations
- (void)beginNetworkOperation {
NSURL *requestURL = [NSURL URLWithString:[self retrieveURL]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:requestURL];
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
[request setShouldContinueWhenAppEntersBackground:YES];
#endif
[request setRequestMethod:@"PUT"];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request addPostValue:strClientId forKey:@"client_id"];
[request addPostValue:strAccessToken forKey:@"access_token"];
NSDictionary *assetDictionary = [NSDictionary dictionaryWithObject:self.tags forKey:@"tags"];
[request addPostValue:assetDictionary forKey:@"asset"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request startSynchronous];
}
self.tags è solo un NSString con valori separati da virgola, ma una volta che arriva al server di rotaie il parametro tag non può essere letto (params [: asset] [: tag]).
Ho provato questo facendo [request addPostValue: [assetDictionary JSONRepresentation] forKey: @ "asset"]; e ottengo lo stesso errore sul server dei binari "TypeError (non può convertire Symbol in Integer)" che sembra davvero non avere alcun senso .... – Kyle
Forse è a causa dei coma nella stringa, perché i comas sono il separatore di JSON. Prova a sostituire i coma nella tua puntura con qualcos'altro per vedere se funziona utilizzando - stringByReplacingOccurrencesOfString: withString: – MatLecu
I miei dati di test non contengono ancora virgole. – Kyle