【发布时间】:2012-05-06 04:33:04
【问题描述】:
我已经写好了交友代码:
NSString *urlString = [NSString stringWithFormat:ADDRESS,action];
postStr = @"user_name=Thomas Tan&phone=01234567891&password=123456";
NSData *myRequestData = [NSData dataWithBytes:[postStr UTF8String] length:[postStr length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody: myRequestData];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSLog(@"%@",responseString);
效果很好,但是现在我想使用asihttprequest框架,所以如何更改上面的代码,我已经编写了代码,但是它无法得到正确的结果,只是得到服务器错误信息。所以是什么有问题吗?
NSString *urlString = [NSString stringWithFormat:ADDRESS,action];
NSURL *url = [NSURL URLWithString:urlString];
ASIFormDataRequest *requeset = [ASIFormDataRequest requestWithURL:url];
[requeset setRequestMethod:@"POST"];
[requeset setPostValue:@"Thomas Tan" forKey:@"user_name"];
[requeset setPostValue:@"01234567891" forKey:@"phone"];
[requeset setPostValue:@"123456" forKey:@"password"];
[requeset startSynchronous];
NSError *error = [requeset error];
if (!error) {
NSString *re = [requeset responseString];
NSLog(@"%@",re);
}
NSLog(@"%@",error);
提前谢谢你。
更新:
NSString *urlString = [NSString stringWithFormat:ADDRESS,action];
NSURL *url = [NSURL URLWithString:urlString];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"POST"];
[request appendPostData:[@"user_name=Thomas Tan&phone=01234567891&password=123456" dataUsingEncoding:NSUTF8StringEncoding]];
[request startSynchronous];
NSError *error = [request error];
if (!error) {
NSString *re = [request responseString];
NSLog(@"%@",re);
}
NSLog(@"%@",error);
我用上面的代码,也不能得到同样的结果,而且error不是nil。
【问题讨论】:
-
“不能得到正确的结果”是什么意思?您看到的错误是什么?
-
它只是获取服务器错误信息,我想要的是与第一个代码得到相同的结果。
-
代码对我来说是正确的;如果
error不为零,它实际打印了什么? -
是的,error为nil,所以可以打印“re”,但问题是为什么我使用这段代码可以得到不同的返回值?我认为它们是相同的......
标签: ios asihttprequest nsmutableurlrequest asiformdatarequest