少し問題があります。phpとJsonを使用して外部データベースから情報を取得しようとしています。ローカルホストから試してみると動作しますが、URLを変更して外部URLを入力しても何も返されません。つまり、ローカルで作業している場合(xamppとphpmyadmin)は機能しますが、データベースから母集団を返しましたが、外部DBから実行しようとすると機能しません。コードに何か問題がありますか?外部サーバーでホストされているphpスクリプトを実行すると、データが返されます。Objective-Cコードの問題です
//Método que devuelve las poblaciones
-(NSMutableArray * )obtenerPoblaciones
{
pobla = [[NSMutableArray alloc] init];
URLpobalciones = @"http://deproba.netau.net/devolver_poblaciones.php";
NSURL *url = [NSURL URLWithString:URLpobalciones];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSArray *items = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSDictionary *item = [[NSDictionary alloc] init];
// This will print all the names of people in your JSON.
for (item in items)
{
NSString *poblae =[NSString stringWithFormat:[item valueForKey:@"nombre"]];
[pobla addObject:poblae];
}
return pobla;
}
変形
またあったね!コードを変更しました。シンプルなものを手に入れて、もっと複雑にしたいと思っています。phpスクリプトとobjective-cコードを変更しました
PHPファイル
<?php
header('Content-type: application/json');
$miArray = array(utf8_encode("París")=>"Francia", "Madrid"=>utf8_encode("España"));
echo(json_encode($miArray));
?>
Objective-Cコード
//NSURL *url = [NSURL URLWithString:@"http://search.twitter.com/search.json?q=g8production"];
NSURL *url = [NSURL URLWithString:@"http://prueba.vacau.com/php/prueba.php"];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if (jsonData != nil) {
NSError *error = nil;
id result = [NSJSONSerialization JSONObjectWithData:jsonData options: (NSJSONReadingMutableContainers) error:&error];
if (error == nil) {
NSLog(@"Poblacion %@",result);
}else
{
NSLog(@"jsonData is empty");
}
}
URL(http://search.twitter.com/search.json?q=g8production)を使用すると正常に機能しますが、phpスクリプトを使用すると機能しません。if / elseステートメントを印刷します:jsonDataは空ですあなたが私を助けてくれることを願っています。再度、感謝します!