当我想将 NSString
变量发送到我的 WCF Web 服务时,我的代码遇到了问题。
代码:
NSString *str= @"http://IPdAddress/myService.svc/json/";
str=[str stringByAppendingFormat:@"InsertNewWeight/%@",noteWeight.text];
NSURL *WcfSeviceURL = [NSURL URLWithString:str];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:WcfSeviceURL];
[request setHTTPMethod:@"POST"];
如果我将 noteWeight.text
值作为一个简单的词输入,则此代码可以正常工作。
当我将 noteWeight.text
值输入为复杂单词(两个单词用空格分隔)时,系统返回错误 data parameter is nil
有人可以帮我解决这个问题吗?谢谢。
最佳答案
由于它是在 URL 中传递的,而不是作为 POST 参数传递的,因此您应该对 noteWeight.text
字符串进行 URL 编码,如下所示:
str = [str stringByAppendingFormat:@"InsertNewWeight/%@", [noteWeight.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
空格将作为 %20
发送,其他特殊字符也将被编码以便在服务器端正确读取。
关于ios - 将 NSString 变量发送到 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203468/