您的位置:首页 > 其它

异步请求没有数据返回

2013-01-10 13:28 113 查看
  dispatch_queue_t network;

    network =dispatch_queue_create("com.moveshop.network", nil);

    dispatch_async(network, ^

                   {

                       // 耗时操作,请求我的常用

                       

                       NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

                       NSURL *url = [NSURL URLWithString:@"http://www.shoujifeng.net/shop/adr/api.php?"];

                       asiRequest = [[ASIFormDataRequest alloc] initWithURL:url];

                       [asiRequest setRequestMethod:@"POST"];

                       

                       //htp://huazuimao8.seeisp.cn/adr/api.php?iic=demo&id=1&comm_type=product_list&size=2&page=2

                       // 打包参数转换称UTF-8格式上传给服务器

                       NSMutableDictionary* reqDict = [NSMutableDictionary dictionary];

                       [reqDict setObject:@"cat" forKey:@"comm_type"];

                       [reqDict setObject:@"0" forKey:@"category"];

                       

                       NSString* reqString = [NSString stringWithString:[reqDict JSONRepresentation]];

                       //Request

                       NSData* requestData = [NSData dataWithBytes:[reqString UTF8String] length:[reqString length]];

                       //[asiRequest addPostValue:@"promotion_product" forKey:@"comm_type"];

                       [asiRequest appendPostData:requestData];

                       

                       [asiRequest buildPostBody];

                       [asiRequest setDelegate:self];

                       [asiRequest startSynchronous];

                       

                       // 服务器返回GBK编码的数据

                       NSData *responseData = [asiRequest responseData];    //检查是否为空,不为空有数据返回
                     //询问服务器返回的数据编码是何种类型,如果弄错,returnString 的值为空
                       NSString* returnString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];   

                       

                       NSLog(@"------%@",returnString);

                       

                       NSData  *jsonData  =  [returnString  dataUsingEncoding : NSUTF8StringEncoding];   

                       NSError  *error  =  nil ;

                       NSDictionary  *resultDic  =  [ [ CJSONDeserializer  deserializer ]  deserializeAsDictionary : jsonData   error : &error ];

                       

                       

                       

                       //

                       dispatch_async(dispatch_get_main_queue(), ^{

                           

                           //隐藏等待提示

                           [self hiddenProgress];

                           if ([[resultDic objectForKey:@"code"] intValue]==1) {

                               

                               dataArray = [[resultDic objectForKey:@"data"] copy];

                               

                               

                               

                           }else {

                               

                               //        [UIHelp showHint:[resultDic objectForKey:@"msg"] intView:self.view];

                           }

//                           [classTableView reloadData];

                                                   

                       });

                   });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐