这是我的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中得到回复时,我看到的只有:
成功:
欢迎!
你已经岁了。
我做错了什么? :(
答案 0 :(得分: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值。
答案 1 :(得分:0)
部分问题似乎是你真的应该使用这些键的实际值(或对象)?
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
yourNameObjectAsNSString, @"fname",
yourAgeObjectAsNSNumber, @"age",
nil];
这并不能解释为什么你在PHP端看不到fname
变量的原因(我希望它也是fname
,因为那是你设置的字符串在您当前的NSDictionary
对象中),但这可能会帮助您更接近终点线。