试图将嵌套参数的信息发布到rails应用程序并遇到一些麻烦。使用ASIHTTPRequest使用NSDictionary对嵌套参数进行POST POST
#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仅仅是一个逗号分隔值的NSString,但一旦到达轨道服务器标签参数不能被读取(PARAMS [:资产] [:标签])。
我已经尝试过了[请求addPostValue:[assetDictionary JSONRepresentation] forKey:@“asset”];我得到了同样的错误在轨道服务器“TypeError(无法将符号转换为整数)”,这似乎毫无意义...... – Kyle
也许这是因为你的字符串中的昏迷,因为昏迷JSON的分隔符。 尝试用别的东西代替你的刺中的昏迷,看看它是否工作 - stringByReplacingOccurrencesOfString:withString: – MatLecu
我的测试数据还没有包含任何逗号。 – Kyle