NSMutableURLRequest setHTTPBody

| 我从另一个问题中获取了此代码,并且我的脚本文件具有更多输入,不仅是mydata,而且进入mydata的数据不应为静态文本,而应来自NSString。 所以我的问题是,如何将多个数据发布到脚本中,以及如何从NSString输入值,因为我的理解是我无法使用具有c数据类型的NSString。不知道那是否是正确的术语,所以如果我错了,请纠正我。
const char *bytes = \"mydata=Hello%20World\";

NSURL *url = [NSURL URLWithString:@\"http://www.mywebsite.com/script.php\"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@\"POST\"];
[request setHTTPBody:[NSData dataWithBytes:bytes length:strlen(bytes)]];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
//NSString *responseString = [[NSString alloc] initWithFormat:@\"%@\", responseData];
NSLog(@\"responseData: %@\", responseData);

userData = responseData;
新问题使用下面的答案
NSMutableData *data = [NSMutableData data]; 

NSString *number = numberIB.text;
NSString *name = nameIB.text;

NSString *nameString = [[NSString alloc] initWithFormat:@\"name=\", name];
NSString *numberString = [[NSString alloc] initWithFormat:@\"number=\", number];

NSLog(nameString);
NSLog(numberString);

[data appendData:[nameString dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[numberString dataUsingEncoding:NSUTF8StringEncoding]];

NSURL *url = [NSURL URLWithString:@\"http://www.siteaddress.com/test.php\"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@\"POST\"];
//[request setHTTPBody:[NSData dataWithBytes:data length:strlen(data)]];
[request setHTTPBody:data];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
//NSString *responseString = [[NSString alloc] initWithFormat:@\"%@\", responseData];
NSLog(@\"responseData: %@\", responseData);
nameString和numberString的NSLogs会返回name =和number =而不包含任何数据。导致没有数据发送到我的脚本。     
已邀请:
        您可以根据需要使用
NSMutableData
对象附加字节,如下所示:
NSMutableData *data = [NSMutableData data]; 
const char *bytes = \"mydata=Hello%20World\";
[data appendBytes:bytes length:strlen(bytes)];

//...

const char *moreBytes = \"&someMoreData=Fantastic\";

[data appendBytes:moreBytes length:strlen(moreBytes)];
编辑:如果要将ѭ4附加到数据缓冲区中,可以使用ѭ5并将其传递给ѭ6。
NSString *someString = @\"blah\";
[data appendData:[someString dataUsingEncoding:NSUTF8StringEncoding]];

[request setHTTPBody:data];
    

要回复问题请先登录注册