簡體   English   中英

將數據從PHP腳本發送到iOS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM