将POST请求发送到本地主机,数据正在接收但未显示在网页上

时间:2014-06-18 07:13:42

标签: php ios post

过去几天我一直在这里。我正在将我的iPhone应用程序中的一些数据发送到MAMP上的本地主机。数据肯定是发送到服务器并由服务器接收,因为我得到的响应是在网页上运行的PHP代码,但它没有显示在网页上。有没有办法让网页显示收到的令牌?我觉得问题是我的PHP脚本非常基本的问题。谢谢。这是代码:

目标-C:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://192.168.2.12:8888/hello_world.php"]];
request.HTTPMethod = @"POST";
NSString *body = [NSString stringWithFormat:@"stripeToken=%@", token.tokenId];

NSLog(body);

request.HTTPBody = [body dataUsingEncoding:NSUTF8StringEncoding];
NSURLResponse *response;
NSError *error;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSLog([[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

PHP:

<?php
    echo "Hello, World!";
    print_r($_POST);
?>

的NSLog:

2014-06-18 12:40:12.300 PayPhone Prototype[3775:60b] Received token tok_104F7R4h7nUnb2nUO3XoHPyK
2014-06-18 12:40:12.301 PayPhone Prototype[3775:60b] stripeToken=tok_104F7R4h7nUnb2nUO3XoHPyK
2014-06-18 12:40:12.306 PayPhone Prototype[3775:60b] <html>
    <head>
        <title>PHP Test</title>
    </head>
    <body>
    Hello, World!Array
(
    [stripeToken] => tok_104F7R4h7nUnb2nUO3XoHPyK
)
    </body>
</html>

网页:

Hello, World!Array ( )

2 个答案:

答案 0 :(得分:0)

将数组存储在如下所示的变量中

<?php 
$variable = array
 (
"stripeToken" => "tok_104F7R4h7nUnb2nUO3XoHPyK"
 );
?>

然后在网页上回显

 hello, word <?php echo $variable['stripeToken']; ?>

答案 1 :(得分:0)

您的网页显示“错误”的原因&#34;内容是因为当您通过在地址栏中写入URL来访问URL时,浏览器将发送GET请求。

用这个替换你的php:

<?php
  echo "Hello, World!";
  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    print_r($_POST);
  } else {
    echo "This was not a POST";
  }
?>

你会看到它。

为了让您的浏览器发送帖子,您应该,例如,创建一个表单,对您的php页面进行POST;或者您可以在JavaScript中执行此操作(与您在Objective-C中执行的操作类似)。我怀疑它会有用。

所以,似乎你的应用程序正在运行,你的php页面表现正常。

可能你应该通过在浏览器中加载php页面来解释你想要做什么 - 如果它仅用于测试,那么你不需要它。您添加的NSLog已经告诉您所有人。