我有2个关于ASIHTTPRequest的问题
1。)我可以通过POST将数组发送到Web服务吗?
等;
NSArray *arr = [[NSArray alloc]init];
NSURL *url = [NSURL URLWithString:@"http://t2.com/p.php"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:arr forKey:@"peoplearray"];
[request setDidFinishSelector:@selector(done:)];
[request setDelegate:self];
[request startAsynchronous];
如果你看到,我正在传递数组;
[request setPostValue:arr forKey:@"peoplearray"];
这是对的吗?如果没有,你能建议一个更好的工作方法吗?
答案 0 :(得分:3)
这可能无法按预期工作。您必须将数组编码为JSON或其他格式。我更喜欢JSON,因为有很多服务器端库可以使用它。以下代码段需要JSON framework。
[request setPostValue:[arr JSONRepresentation] forKey:@"people"];
iOS 5附带内置的JSON类。查看此article以便在iOS 5中使用JSON。
答案 1 :(得分:1)
试试这个 它对我有用
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:ListPlacesURL];
for (int i =0; i < [placeTagID count]; i++) {
[request setPostValue:[[data objectAtIndex:i] objectForKey:@"id"] forKey:[NSString stringWithFormat:@"ids[%i]",i]];
}
[request startSynchronous];