0

NSURLRequest と NSURLConnexion を使用して PHP スクリプトにデータを送信するアプリがあります。私が欲しいのは、「Hello world」のようなデータを post メソッドで送信し、「Hello world from myPHPScript.php !」とアプリに表示することです。しかし、私はWebサービス、特にn PHPの経験がありません。

これがリクエストを送信する私のobjective-cコードです:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL

                                URLWithString:@"http://localhost:8888/testNSURL/index.php"]

                                cachePolicy:NSURLRequestUseProtocolCachePolicy

                                timeoutInterval:60.0];

    [request setHTTPMethod:@"POST"];
    NSString *postString = @"myVariable=Hello world !";
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];

    if (theConnection) {

        receiveData = [NSMutableData data]; 

}

そして、これは私のPHPコードです:

<?php
if(isset($_REQUEST["myVariable"])) {
    echo json_encode("Hello from index.php !");
}
else    echo json_encode('Request failed');
?>

私の質問は次のとおりです。

  • 私のPHPコードは正しいですか?
  • echo json_encode("Hello from index.php !");obj-c アプリでをキャッチするにはどうすればよいですか?
4

1 に答える 1

0

私は個人的にサーバーに投稿するときにASIFormDataRequestを使用しています。このメソッドから情報を取得したら、次のようなことを実行して、サーバーでエコーされたすべてのデータ/文字列値を取得できます。

- (void)requestFinished:(ASIHTTPRequest *)aRequest {
    NSData *responseData = [aRequest responseData];
    NSString *responseString = [aRequest responseString];
}

データ情報から文字列を取得するには、次のようにします。

[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]
于 2012-04-10T13:08:05.823 に答える