1

私のObjective-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 で応答を返すと、次のように表示されます。

成功: ようこそ !
あなたは歳です。

私は何を間違っていますか?:(

4

2 に答える 2

2

私の賭けは、あなたが質問を単純化しようとしたことであり、実際のコードは次のようになります。

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

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

辞書でこのようなキーにnil値を割り当てた場合(おそらく意図的にではない)、サーバーはその値の前のパラメーターのみを読み取ることができます-私の例ではidのみです。したがって、paramsディクショナリでnil値を確認してください。

于 2012-01-09T21:56:11.303 に答える
0

問題の一部は、実際にこれらのキーに実際の値 (またはオブジェクト) を使用する必要があるように見えますか?

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

fnameこれは、PHP 側の変数に何も表示されない理由を説明していません(現在のオブジェクトfnameで設定されている文字列であるため、同様になると思います)。NSDictionaryフィニッシュラインへ。

于 2011-12-22T02:28:58.450 に答える