Не удалось отправить массив на сервер с помощью AFNetworking

1

Я использую AFNetworking для отправки массива, содержащего контактные данные в устройстве на сервер. Ниже приведен мой код.

NSDictionary *parameters = @{@"UserContacts": contactsArray};//contactsArray is NSMutableArray
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] init];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

[manager POST:baseUrl parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
    NSLog(@"RESPONSE : %@",responseObject);

} failure:^(NSURLSessionDataTask *task, NSError *error) {    
    NSLog(@"Error: %@", error.localizedDescription);

}];

Ответ, который я получил, это

ОТВЕТ: "не удалось"
Примечание. Неопределенный индекс: UserContacts в C:\xampp\htdocs\creator\php\controller\contactsync.php в строке 101

Код php приведен ниже

public function insertios(){

    if(!isset($_REQUEST['UserContacts'])){

        echo json_encode('failed');
        $contact = $_REQUEST['UserContacts'];
        echo $contact;

    }else{

        echo json_encode('Success');

    }
}

Скажите, пожалуйста, где я ошибся.

Теги:
afnetworking

1 ответ

0

Вы должны использовать php://input поток только для чтения для доступа к пост-данным вместо $_REQUEST как это

<?php 
    $postdata = file_get_contents('php://input');
?>

После этого вы можете декодировать ваши данные для записей в зависимости от типа контента.

Вы использовали NSDictionary для привязки данных, которые обрабатываются как строка json на сервере PHP, поэтому вам нужно читать данные запроса через флеш-поток.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню