Я пытаюсь отправить массив строк из Objective C в PHP. Сначала я использовал GET, но я узнал, что GET не подходит для отправки большого количества данных. У моего массива будет около 300 записей. Поэтому я использую POST. Пройдя эту страницу, я придумал следующий код
NSDictionary *userconnections = [user objectForKey:@"connections"]; NSMutableArray *connectionsID = [[NSMutableArray alloc] init]; for (id foo in [userconnections objectForKey:@"values"]) { [connectionsID addObject:[foo objectForKey:@"id"]]; //[User sharedUser].connections = connectionsID; } NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:connectionsID options:NSJSONWritingPrettyPrinted error:&error]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; [User sharedUser].connections = jsonData; [User sharedUser].connectionsID = jsonString; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://localhost:8888/API.php"]]; [request setHTTPMethod:@"POST"]; [request setValue:[[User sharedUser]connectionsID] forKey:@"songs"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[[[User sharedUser] connections] length]] forHTTPHeaderField:@"Content-Length"]; [request setHTTPBody: [[User sharedUser] connections]]; NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSLog(@"Return DATA contains: %@", [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil]);
В моем PHP я получаю его как:
<?php header("Content-Type: application/json"); $headers = array_change_key_case(getallheaders()); include "dbconnect.php"; $songs = json_decode(stripcslashes($_GET["songs"])); echo json_encode($songs);
Однако я не могу получать данные в php. Любая помощь или указатели будут оценены
EDIT: Я переключился на использование GET, поскольку POST не помог мне. Спасибо за любую помощь, которую вы можете предложить