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 回答