过去几天我一直在这里。我正在将我的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 ( )
答案 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
已经告诉您所有人。