将NSString上传到服务器时出现问题

时间:2011-04-04 17:20:48

标签: iphone objective-c nsstring

我正在努力获取一个特定的字符串来上传,使用php和mysql我有很多来自textfields的字符串,这些字符串将成功地去,这个特定的字符串是来自另一个viewcontroller中的标签的文本。我可以看到NSLog的文本,但由于某种原因它不会,我相信服务器端正常工作,因为我可以将其他字符串传递给mySQL中的特定行。 要从我正在使用的其他视图中获取文本

- (IBAction)submit:(id)sender;
    {

    GetLocation * getlocation =[[GetLocation alloc] initWithNibName:Nil bundle:nil];    
    getlocation.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    getlocation.rwanswer=self.rwanswer.text;
    [self presentModalViewController:getlocation animated:YES];

    [getlocation release];
}

在第一个viewcontroller中然后在上传到服务器的视图中我合成了字符串。

NSString *rwanswer;
@property (nonatomic, copy) NSString *rwanswer;

我可以看到NSLog的文本但由于某种原因我无法上传。

-(IBAction)UploadData :(id)sender {


    NSString *appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];


    NSString *result =rwanswer;
    NSLog(@"result=%@", result);

    NSString *comment =comments.text;
    NSString *name = username.text;
    NSLog(@"name=%@", name);

    NSString *Website =[NSString stringWithFormat:@"http://www.ivectorn.com/Set/Submit.php?name=%@&comments=%@&appname=%@&results=%@", name, comment, appname,  result];
    [BackroundLoader loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:Website]]];

任何帮助都会很棒

1 个答案:

答案 0 :(得分:0)

我知道这个问题。我认为问题出在你的网站字符串上。尝试记录int,你会看到,你内部的字符不能放入URL。如果这是您的问题,以下方法将对您有所帮助:

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

而不是

NSString *appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];


NSString *result =rwanswer;
NSLog(@"result=%@", result);

NSString *comment =comments.text;
NSString *name = username.text;

以下内容:

NSString *appname = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //Or your String Encoding


NSString *result = [rwanswer stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //Or your String Encoding;
NSLog(@"result=%@", result);

NSString *comment =[comments.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //Or your String Encoding;
NSString *name = [username.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //Or your String Encoding;

我希望这会对你有所帮助。我不久前遇到了同样的问题。

Sandro Meier