我从一个不同的问题采取了这段代码,我的脚本文件有更多的输入,而不仅仅是mydata,进入mydata的数据也不应该是静态文本,它应该来自NSString。NSMutableURLRequest setHTTPBody
所以我的问题是,我如何发布多个数据到我的脚本,我将如何从NSString输入值,因为我的理解是我不能使用N数据类型与NSString。不知道这是否是正确的术语,所以请纠正我,如果我错了。使用以下
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回来名
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;
新问题=和数量=没有任何数据。导致没有数据被发送到我的脚本。
为什么不使用'NSMutableString',然后调用'-dataUsingEncoding:'上而不是使用'NSMutableData'对象的? – 2011-06-16 16:26:39