1
次のコード<NSMutableURLRequest:0x1c0c7ae0> {URL:(NULL)}客観Cで
-(void)AddEmpService:(NSDictionary *)params
{
recordResults = FALSE;
OutPutStringName = [[NSMutableString alloc] init];
[OutPutStringName appendString: @"string"];
NSString *urlstr =[NSString stringWithFormat:@"http://www.seen.com/SeenApi/Service.svc/EmpService?type=Insert&Id=&ClassId=%@&Name=%@&Desg=%@&Age=%@&Add=%@&Sal=%@&Gend=%@&Phone=%@&EmpId=%@",[params objectForKey:@"Id"],[params objectForKey:@"EmpName"],[params objectForKey:@"EmpDesignation"],[params objectForKey:@"EmpAge"],[params objectForKey:@"EmpAddress"],[params objectForKey:@"EmpSalary"],[params objectForKey:@"EmpGender"],[params objectForKey:@"EmpPhone"],[params objectForKey:@"EmpId"]];
NSLog(@"dict is %@",params);
urlstr=[urlstr stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSLog(@"%@",urlstr);
NSURL *url= [NSURL URLWithString:urlstr];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSLog(@"the request %@",theRequest);
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection)
{
webData = [NSMutableData data];
}
else
{
NSLog(@"theConnection is NULL");
}
}
のNSLog(@ "%の@"、urlstr)の問題を取得します。
http://www.seen.com/SeenApi/Service.svc/EmpService?type=Insert&Id=&ClassId=63&Name=Mark&Desg=Teacher&Age=25&Add=New%%20York&Sal=5000&Gend=Male&Phone=0987654321&EmpId=235
しかし、( "要求%の@" @、theRequest) のNSLogにnullを取得しています。
the request <NSMutableURLRequest: 0x1c0c7ae0> { URL: (null) }
2017-11-21 14:07:36.262 Emp[7070:2394869] ERROR with theConenction
これを使用してみてくださいissue.TIA
。 'NSURLComponents'と' NSURLQueryItem'を使ってURLを作成することを強くお勧めします。これは暗黙的に符号化率を処理します。 – vadian
文字列@vadian – Rajeev
を修正してください。私は辞書の正確な内容がわからないのでできません。しかし、 'stringByReplacingOccurrencesOfString'の代わりに' stringByAddingPercentEncodingWithAllowedCharacters'を使用して適切なパーセントエンコーディングを追加する方が良いでしょう。 – vadian