[英]Trouble getting simple POST from Objective C to PHP working
我是PHP的新手,但这似乎很简单,似乎没有任何办法可以解决这个问题,除非我完全误解了所有这些工作方式。
目标C:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://myurl.com"]];
[request setPostValue:@"test value A" forKey:@"testA"];
[request setPostValue:@"test value B" forKey:@"testB"];
[request setDelegate:self.delegate];
[request startAsynchronous];
PHP:
<?php
$testValueA = $_POST['testA'];
$testValueB = $_POST['testB'];
echo "Value A = $testValueA, Value B = $testValueB";
?>
当我NSLog
从request
返回的字符串时,我得到Value A = Value B =
。 这是我不太了解的PHP实现中的错误,还是Objective-C有问题?
print_r($_POST)
, var_dump($_POST)
和$HTTP_RAW_POST_DATA
返回任何内容。 所以我假设问题出在ASIFormDataRequest
吗?
从响应中转储标题:
Connection = "Keep-Alive";
"Content-Type" = "text/html";
Date = "Thu, 04 Nov 2010 20:05:39 GMT";
"Keep-Alive" = "timeout=2, max=199";
Server = Apache;
"Transfer-Encoding" = Identity;
"X-Powered-By" = "PHP/5.2.14";
不确定如何处理此信息。
从错误文件获取此日志消息:
"(Notice) Undefined index: testA"
也是testB
不太熟悉C,但是尝试更改
echo "Value A = $testValueA, Value B = $testValueB";
至
echo "Value A = " . $testValueA . ", Value B = " . $testValueB;
大胆猜测,Obj-C请求是否需要“发送”消息或其他内容? 通常在OOP中,您创建一些东西,然后告诉它行动。 也许这就是所缺少的。
还取决于如何在服务器上执行PHP(通过CGI或Apache处理程序)。 如果是CGI,则可以尝试以下操作:
<?php
$data = file_get_contents(STDIN);
parse_str($data, $_POST);
// ... your code
似乎发生了我不知道的重定向(从http://www.mysite.com
到http://www.mysite.com/
),并且在那里丢失了POST数据。 感谢大家尝试帮助调试此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.