2013-10-21 32 views
1

想通过使用JSON与AFNetworking从iOS系统PHP Web服务器的NSArray或NSDictory如何从iOS版发送的NSArray或NSDictory到PHP Web服务

NSDictionary *courseList = ........; 
NSString* name = @"UserName"; 
NSString* password = @"Password";  
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys: 
            name, @"UserName", 
            password, @"Password", 
            courseList, @"courseList", 
            nil]; 
NSURL *baseURL = [NSURL URLWithString:[NSString stringWithFormat:SERVER_URL]]; 
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:baseURL]; 
     [client registerHTTPOperationClass:[AFJSONRequestOperation class]]; 
     [client setDefaultHeader:@"Accept" value:@"application/json"]; 
     [client setDefaultHeader:@"Accept-Charset" value:@"utf-8"]; 
     [client postPath:URL 
       parameters:parameters 
       success:^(AFHTTPRequestOperation *operation, id json) { 

       } 
       failure:^(AFHTTPRequestOperation *operation, NSError *error) { 

       } 
     ]; 

回答

4
NSDictionary * postDictionary = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"value1", @"value2", nil] 
                    forKeys:[NSArray arrayWithObjects:@"key1", @"key2", nil]]; 

NSError * error = nil; 
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:NSJSONReadingMutableContainers error:&error]; 

NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"your_webservice_post_url"]]; 
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[urlRequest setHTTPMethod:@"POST"]; 
[urlRequest setHTTPBody:jsonData]; 

NSURLConnection * myConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES]; 
+0

如果这个答案有助于解决您的问题,那么请接受这个答案,以便任何其他人都可以得到解决方案。 – user1673099

0

您需要添加这行代码正确初始化AFHTTPClient:

[client setParameterEncoding:AFJSONParameterEncoding]; 
相关问题