我的代碼有問題,我無法弄清楚它有什麼問題。也許我正在做一些我並不知道的非常愚蠢的事情,因爲我是這些話題的新手。這裏的東西...基本上,我試圖通過NSURLConnection從我的Web服務器上的PHP頁面獲取JSON對象作爲響應。 PHP頁面從數據庫中檢索一些信息,然後對JSON對象進行編碼,該對象只是一個由四個數字字符串組成的數組,例如[「1」,「2」,「3」,「4」]。 PHP頁面的相關部分是:通過NSURLConnection從PHP頁面獲取JSON對象的問題
<?php
include('mylib.php');
$id = $_GET["id"];
$db = connection();
$stmt = "SELECT col1,col2,col3,col4 FROM mytable WHERE `id` = " .$id;
$ris = mysql_query($stmt,$db);
if ($ris && mysql_num_rows($ris) == 1) {
$arr = mysql_fetch_array($ris);
header('Content-type: application/json');
header("Content-Disposition: attachment; filename=res.json");
$json = json_encode(array($arr[0],$arr[1],$arr[2],$arr[3]));
echo $json;
?>
雖然我得到我期望在我想要的格式的數據,當我從一個瀏覽器下載文件時,JSON附件文件與不需要的新的生產線開始字符:這樣,NSURLConnection就會立即停止(我只是得到'\ n')。我不報了代號爲網絡部分:這是非常標準的,它應該是正確的,因爲它適用於其他的東西我做的......我通過試圖刪除「\ n」的
$json = trim($json);
但它沒有工作。新的線路仍然存在。它從何而來?我該怎麼辦?希望你們可以幫我解決這個問題...提前致謝!
編輯
好!我沒有新的行字符了(我在mylib.php的開頭刪除了'\ n'),但是我無法通過NSURLConnection獲取JSON對象。看起來方法
connection:didReceiveData:
現在從未被調用。但是我在連接中沒有錯誤:它只是接收0字節。請注意,當我在開始時使用'\ n'時,我收到了1個字節。從瀏覽器它完美的作品。我該怎麼辦?
你是對的!問題出現在mylib.php的開頭。快速而精確!非常感謝 ;) – 2011-03-07 10:03:09