Тук е моят обект-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
обект), но това може да ви помогне да се доближите до финалната линия.