[英]Send data from a PHP script to iOS
我正在嘗試編寫一個使用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對象。
確保發送帶有內容類型的標頭。
header('Content-type: application/json');
print json_encode($array);
exit();
我的猜測是您的設備看不到該本地IP地址? 要么,要么它的json解析要嚴格得多。 您是否使用php腳本輸出了json標頭?
url輸出字符串,因此使用以下命令
NSURL *url = [NSURL URLWithString:@"192.168.1.100/testing/get.php?number=5"];
NSString *jsonVal = [NSString stringWithContentsOfURL:url];
NSLog(jsonVal);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.