繁体   English   中英

从Objective C到PHP的简单POST无法正常工作

[英]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";
?>

当我NSLogrequest返回的字符串时,我得到Value A = Value B = 这是我不太了解的PHP实现中的错误,还是Objective-C有问题?

- 编辑 -

print_r($_POST)var_dump($_POST)$HTTP_RAW_POST_DATA返回任何内容。 所以我假设问题出在ASIFormDataRequest吗?

-编辑2--

从响应中转储标题:

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";

不确定如何处理此信息。

-编辑3--

从错误文件获取此日志消息:

"(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.comhttp://www.mysite.com/ ),并且在那里丢失了POST数据。 感谢大家尝试帮助调试此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM