Objective-C和ASIHTTPRequest - 响应字符串问题
-
05-07-2019 - |
题
我正在使用ASIHTTPRequest包将一些数据从iPhone发送到我的服务器,然后当保存在服务器上时,我收到一个包含我想在webview中加载的URL的响应(字符串)。从理论上讲,这应该很简单,但实际上我根本无法完成这项工作。似乎是编码字符串的一些问题我猜。如果我NS注销响应似乎完全没问题,但它只是拒绝在webview中加载。
这是我的要求(一直在使用压缩和编码):
NSURL *url = [NSURL URLWithString:@"xxx"];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setFile:imageData forKey:@"photo"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request setAllowCompressedResponse:NO];
[request setDefaultResponseEncoding:NSUTF8StringEncoding];//NSISOLatin1StringEncoding
[request start];
这是我的回应者:
- (void)requestDone:(ASIHTTPRequest *)request{
NSString *response = [request.responseString];
NSLog(@"web content: %@", response);
[webView loadSite:response];
}
NSLog似乎很好,但网站不会加载。尝试发送NSString变量,如NSString * temp = @" http://www.google.se " ;到loadSite函数,并且工作正常,所以问题不在于加载本身。
在obj-c丛林中大大提高任何指针或帮助:)
/ f
解决方案
尝试执行以下操作:
NSString *response = [[request responseString] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
它将修剪所有空格和换行符。
其他提示
所以事实证明,响应会自动以\ n(新换行符)结束。记录变量时没有出现这种情况,既没有将其写入文本字段,也没有将其转换为urlobject并记录我找到它。调试再次得到回报;)
woups,我的回应者当然是:
- (void)requestDone:(ASIHTTPRequest *)request{
NSString *response = [request responseString];
NSLog(@"web content: %@", response);
[webView loadSite:response];
}
不隶属于 StackOverflow