2012-07-18 44 views
1

我實現了發送便條給服務器的方法上:獲取的NSData從URL工作在模擬器,但不是設備

-(IBAction)inserttotextfied:(id)sender{ 

    NSString *strurl=[NSString stringWithFormat:@"http://localhost/get-data/insert.php?Name=%@&message=%@",txtf.text,txt2.text]; 
    NSData *dataurl=[NSData dataWithContentsOfURL:[NSURL URLWithString:strurl]]; 
    NSString *stresult=[[[NSString alloc]initWithData:dataurl encoding:NSUTF8StringEncoding]autorelease]; 
    NSLog(@"%a",stresult); 
} 

問題是,當我通過模擬器測試它被髮送,但當我在設備上測試數據時,數據並未保存

回答

0

您可能不想在設備上將某些內容發送到本地主機,或者您在設備上使用不同的url?

+0

我也試圖在遠程服務器上,同樣的問題發生 – Norah 2012-07-18 06:18:33

+0

您嘗試訪問在Safari瀏覽器的URL在設備上?然後,您可能會看到設備是否可以首先到達服務器。 – Hugo 2012-07-18 09:35:32

0

模擬器響應速度更快。所以url返回數據並正確打印。但在設備上,響應時間比模擬器高。你的NSLog(@「%a」,stresult);語句在從響應中獲取任何數據之前執行。我會建議延遲或使用委託,以便在獲得響應後使用數據。

0

格式說明%a64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent.

,如果這是不是你的意圖,試試這個:

NSLog(@"%@", stresult); 
相關問題