嗨,我是 ios 的新手,在我的应用程序中,我ASIFormDataRequest
早先使用过集成服务
现在我已经改变了格式,我正在使用NSURLSession
而不是ASIFormDataRequest
ASIFormDataRequest
但是,当我使用来自服务器的成功响应请求更改服务器密码但是当我使用NSURLSession
来自服务器的失败响应时,请帮助解决问题
NSURlsession:-
def = [NSUserDefaults standardUserDefaults];
NSString *myString = [def stringForKey:@"AccesToken"];
NSString *AccessToken = [NSString stringWithFormat:@"Bearer %@",myString];
NSString *Finalstr = [NSString stringWithFormat: @"MedicaidId=%@&OldPassword=%@&NewPassword=%@&ConfirmPassword%@", medicaId,self.CurPwdTxt.text,self.NewPwdTxt.text,self.ConfPwdTxt.text];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:mainurl,BaseURL]]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[Finalstr dataUsingEncoding:NSUTF8StringEncoding]];
[request addValue:AccessToken forHTTPHeaderField:@"Authorization"];
NSURLSessionTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"dataTaskWithRequest error: %@", error);
}
else if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
if (statusCode != 200) {
NSError *parseError;
id responseObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"responseobject is %@",responseObject);
}else{
NSError *parseError;
id responseObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"else condtion");
if (!responseObject) {
NSLog(@"JSON parse error: %@", parseError);
NSLog(@"responseobject is%@",responseObject);
} else {
NSLog(@"responseobject is %@",responseObject);
}
//if response was text/html, you might convert it to a string like so:
NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"final responseString = %@", responseString);
}
}
}];
[task resume];
}
ASIFormDataRequest:-
NSString *urlStr = [NSString stringWithFormat:@"myurl",BaseURL];
NSLog(@"urlStr --->>> %@",urlStr);
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlStr]];
[request setRequestMethod:@"POST"];
def = [NSUserDefaults standardUserDefaults];
NSString *myString = [def stringForKey:@"AccesToken"];
NSString *str = [NSString stringWithFormat:@"Bearer %@",myString];
NSLog(@"token is %@",str);
[request setPostValue:medicaId forKey:@"MedicaidId"];
[request setPostValue:self.CurPwdTxt.text forKey:@"OldPassword"];
[request setPostValue:self.NewPwdTxt.text forKey:@"NewPassword"];
[request setPostValue:self.ConfPwdTxt.text forKey:@"ConfirmPassword"];
[request addRequestHeader:@"Authorization" value:str];
[request setDelegate:self];
[request startAsynchronous];