2011-03-07 67 views
0

我的代碼有問題,我無法弄清楚它有什麼問題。也許我正在做一些我並不知道的非常愚蠢的事情,因爲我是這些話題的新手。這裏的東西...基本上,我試圖通過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個字節。從瀏覽器它完美的作品。我該怎麼辦?

回答

1

我知道這聽起來很明顯,但試着在開頭<?php標籤前看。

編輯:或可能在「mylib.php」的末尾。

+0

你是對的!問題出現在mylib.php的開頭。快速而精確!非常感謝 ;) – 2011-03-07 10:03:09