将数据从 PHP 脚本发送到 iOS
Posted
技术标签:
【中文标题】将数据从 PHP 脚本发送到 iOS【英文标题】:Send data from a PHP script to iOS 【发布时间】:2012-06-15 08:25:46 【问题描述】:我正在尝试编写一个使用 json 对象从服务器获取数据的 ios (5) 应用程序。我从应用程序调用一个 php 脚本,该脚本从服务器获取数据,将其编码为 json,然后将其输出。执行此操作的 php 脚本中的行是:
$json_encoded = json_encode($normal_array, JSON_FORCE_OBJECT)
echo $json_encoded;
但是当我这样做时:
NSURL *url = [NSURL URLWithString:@"192.168.1.100/testing/get.php?number=5"];
NSData *data = [NSData dataWithContentsOfURL:url];
数据变量大小为 0 字节,不包含任何数据。
谁能告诉我为什么 dataWithContentsOfURL 得到的东西是空的?回声还不够吗?我需要发送回复或类似的东西吗?如果是这样,我将如何从 php 脚本发送响应?如果我在浏览器中调用完全相同的脚本,它会输出:
"0":
"0":"asdfgh",
"1":"2012-06-11 16:21:15"
,
"1":
"0":"jumps over",
"1":"2012-06-11 16:20:52"
,
"2":
"0":"the quick brown fox",
"1":"2012-06-11 16:20:40"
,
"3":
"0":"the quick brown fox",
"1":"2012-06-11 16:20:40"
,
"4":
"0":"the quick brown fox",
"1":"2012-06-11 16:20:21"
据我所知,这是一个有效的 JSON 对象。
【问题讨论】:
【参考方案1】:url输出字符串,所以使用下面的
NSURL *url = [NSURL URLWithString:@"192.168.1.100/testing/get.php?number=5"];
NSString *jsonVal = [NSString stringWithContentsOfURL:url];
NSLog(jsonVal);
【讨论】:
【参考方案2】:我的猜测是您的设备没有看到该本地 IP 地址?无论是那个还是它的 json 解析都要严格得多。你用你的php脚本输出了json头吗?
【讨论】:
【参考方案3】:确保发送带有内容类型的标头。
header('Content-type: application/json');
print json_encode($array);
exit();
【讨论】:
以上是关于将数据从 PHP 脚本发送到 iOS的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 HTML 页面发送到 PHP 脚本并在 PHP 中选取数据
如何在 IOS 上使用 Swift 解析 JSON,从 PHP 服务脚本发送?
通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?