/ / Публикуване с AFNetworking, параметри, които не се изпращат? - цел-c, ios, afnetworking

Публикуване с AFNetworking, параметри, които не се изпращат? - цел-c, ios, afnetworking

Тук е моят обект-C код:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"fname", @"fname",
@"age", @"age",
nil];

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"testpost.php" parameters:params];

Тук е моят код в PHP:

Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.

Когато обаче получих отговора в Obj-C, всичко, което виждам, е:

успех: Добре дошли !
Вие сте години.

Какво правя грешно? :(

Отговори:

2 за отговор № 1

Обзалагам се, че се опитахте да опростите въпроса си и истинският ви код изглежда така:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"id", @"id",
nil, @"bla",
@"fname", @"fname",
@"age", @"age",
nil];

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"testpost.php" parameters:params];

Ако сте задали нулева стойност на ключ катотова във вашия речник (вероятно не е целенасочено), вашият сървър ще може да прочете параметрите само преди тази стойност - в моя пример само id. Така че проверявайте за нула стойности в речника на парамите.


0 за отговор № 2

Част от проблема изглежда, че наистина трябва да използвате действителни стойности (или обекти) за тези ключове?

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
yourNameObjectAsNSString, @"fname",
yourAgeObjectAsNSNumber, @"age",
nil];

Това не обяснява защо не виждате нищо за fname променлива от страна на PHP (бих очаквала, че ще бъде fname тъй като това е низът, който сте го настроили в течението NSDictionary обект), но това може да ви помогне да се доближите до финалната линия.