1

PHPで作成されたWebサービスを呼び出そうとしています.phpからこれを送信すると、リクエストとレスポンスが成功します:

    $.post( 
        'http://166.178.11.18/server/xs/reliable.php', 
        {"name":value2}, // any data you want to send to the script
        function( data ){  
         $( 'body ').append( data );

        }); 

これはphpコードを介して完全に正常に機能しますが、目的のCコードから送信しようとすると、サーバーはパラメーターを受信できず、応答はnull値の要求を示します. 私はそれを次のように呼んでいます:

   NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
   [theRequest setHTTPMethod:@"POST"];
   [theRequest setValue:currentUniqueID forKey:@"name"];

  NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest  delegate:self];
if (theConnection) {
    // Do something here
}

しかし、これはnull ID値の応答を返します。

4

1 に答える 1

2

このようにできます。

     NSString *post =[[NSString alloc] initWithFormat:@"name=%@",currentUniqueID];

        NSLog(@"post ==> %@", post);

        NSURL *url=[NSURL URLWithString:@"http://166.178.11.18/server/xs/reliable.php"];

        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

        //NSLog(@" route id is :%@",postLength);

        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:url];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setHTTPBody:postData];


        NSError *error = [[NSError alloc] init];
        NSHTTPURLResponse *response = nil;
        NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    if ([response statusCode] >=200 && [response statusCode] <300)
    {
       NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
            NSLog(@"Response ==> %@", responseData);
     } else {
                if (error) NSLog(@"Error: %@", error);
      }

currentUniqueID が整数の@"name=%@"場合@"name=%i"

于 2013-05-30T07:45:16.430 に答える