我遇到问题,当我进行数据库查询时,我的成功连接会返回0
。
NSInteger success;
@try {
NSString *post = [NSString stringWithFormat:@"&operador=3"];
NSLog(@"PostData: %@",post);
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
//Se inicia una peticion de conexion a internet
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
//Se define la url
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://notelapuedomostrar.php"]]];
//Se define el tipo de envio
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
//[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Response code: %ld", (long)[response statusCode]);
if ([response statusCode] >= 200 && [response statusCode] < 300)
{
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
NSError *error = nil;
NSDictionary *jsonData = [NSJSONSerialization
JSONObjectWithData:urlData
options:NSJSONReadingMutableContainers
error:&error];
success = [jsonData[@"success"] integerValue];
NSLog(@"Success: %ld",(long)success);
NSString *datos = [jsonData objectForKey:@"fecha"];
//int len = [responseData length];
NSLog(@"Datos del jsonData %@",datos);
//NSArray *fechaOP = [jsonData objectForKey:@"fecha"];
//ARRAY
fechas = [[NSArray alloc] initWithObjects:@"02/10/2015",@"03/10/2015",@"13/10/2015", nil];
if(success == 1)
{
NSLog(@"Viaje SUCCESS");
} else {
NSString *error_msg = (NSString *) jsonData[@"error_message"];
[self alertStatus:error_msg :@"Error en el viaje" :0];
}
} else {
//if (error) NSLog(@"Error: %@", error);
[self alertStatus:@"Fallo la conexion" :@"" :0];
}
}
@catch (NSException * e) {
NSLog(@"Exception: %@", e);
[self alertStatus:@"Viaje Failed." :@"Error!" :0];
}
我看过其他问题,其中错误为forHTTPHeaderField:@"Current-Type"
。在我的情况下,问题来自jsonData
返回NULL
。
NSLog中的输出(@&#34;响应==&gt;%@&#34;,responseData);是:
Response ==> {"success":1,"Viajes":[{"idviajes":"87","hora":"","fecha":"02\/oct\/2015","costo":"$ 14.37 Pesos","ubicacion":"Calle Zempoala 251, 03020 Ciudad de Mexico, DF","destino":"Calle Mitla 200, 03020 Ciudad de Mexico, DF"}]}
请看看和建议吗?
编辑
在此过程中查看我的错误,当前parcear NSJSONSerialization
告诉我日志ERROR: The data couldn’t be read because it isn’t in the correct format.