2013-12-16 78 views
-1

我有一個應用程序,我有一個網址工作,因此我得到的迴應ASIHTTPRequest + SBJSon iphone

我使用ASIHTTPRequest來請求URL 這裏是我的要求

-(void)getTips { 
    if ([CommonFunctions networkConnected]) { 
     ShowNetworkActivityIndicator(); 
     NSString *strPhp = @"staticpage.php"; 
    NSString *strQuery = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@?static_id=3",GMS_URL,strPhp]]; 
     ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:strQuery]]; 
     NSLog(@"tips url %@",request.url); 
     request.delegate = self; 
     [request setRequestMethod:@"GET"]; 
     [request startAsynchronous]; 
    } 
} 

這是我的委託方法

-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data { 

// NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
// NSLog(@"responseStr %@",responseStr); 
    SBJsonParser *json = [[SBJsonParser alloc]init]; 
    NSLog(@"json data %@",[json objectWithData:data]); 
    NSMutableArray *marrData = [[json objectWithData:data] valueForKey:@"responseData"]; 
    if([[marrData valueForKey:@"result"] isEqualToString:@"failed"]){ 
     [CommonFunctions showAlertMessage:[marrData valueForKey:@"error"]]; 
    } 
    HideNetworkActivityIndicator(); 
} 

在這裏我得到空數據無論我是否通過請求方法GET或POST

當我在瀏覽器中查看相同的網址,我得到了響應,並從網上JSON觀衆

一個有效的JSON是什麼,我在應用

+3

ASI網絡庫已經停產。嘗試'AFNetworking'。 – Raptor

+0

thnx shivan !!我用AFNetworking取代了我的代碼,現在一切都很好用! – iDeveloper

回答

1

使用requestFinished獲得空數據的可能原因:委託。請試試這個。

-(void)requestFinished:(ASIHTTPRequest *)request 
{ 
    NSLog(@"response %@", [request responseString]); 
} 
+0

我沒有得到任何responseString的東西! – iDeveloper