0

これは、デモiOSアプリから呼び出す最初のAPIです。PHPに書いた簡単な文をラベルに戻したいだけです。

ただし、アプリで取得した場合、辞書の結果はnullになります。これはどのように作動しますか?***修正済み、以下のコードは機能しますが、あまり安全ではありません

PHPファイル:

index.php hosted on localhost using XAMPP (http://localhost/tutorials/index.php) if I echo "hi"; it shows on the page so the server is working. 



 <?php 
if(function_exists($_GET['fe'])) {
   $_GET['fe']();
}
    function getLabel(){
        $response['name']="Hello first API ever";

        echo json_encode($response);
    }

今Xcodeで私は持っています:

    -(void)connectionDidFinishLoading:(NSURLConnection *)connection{
        //Main parse

        //Web data
        NSDictionary*data=[NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
        NSLog(@"%@",data);
        NSString*label=[data valueForKey:@"name"];

        _answer.text=label;

    }

    -(void)getData{

        NSURL*url=[NSURL URLWithString:@"http://localhost/tutorials/index.php?fe=getLabel"];
        NSURLRequest*request=[NSURLRequest requestWithURL:url];
        connection = [NSURLConnection connectionWithRequest:request delegate:self];

        if (connection) {
            webData=[[NSMutableData alloc]init];
        }
    }

//Clear response
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    [webData setLength:0];
}

    //Append data
    -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
        [webData appendData:data];
    }

    -(void)connectionDidFinishLoading:(NSURLConnection *)connection{
        //Main parse

        //Web data

        NSDictionary*data=[NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
        NSLog(@"%@",data);
        NSString*label=[data valueForKey:@"name"];

        _answer.text=label;

    }

ありがとう

4

1 に答える 1

1

あなたの接続はどこにありますか:didReceiveData:メソッド?受信したデータをwebDataに追加する必要があります。

于 2013-03-25T22:04:13.077 に答える