我正在尝试进行基本登录。当我通过Postman请求时,我的API工作正常,它按照我的预期返回成功,但iOS总是返回失败。以下是我的iOS代码。
编辑:1-)服务器总是返回json,例如{" response_message":"失败" } 2-)服务器返回失败,响应代码为200。
NSString *postString = [[NSString alloc] initWithFormat:@"email=%@&hashed_password=%@",[self.email text],[self.password text]];
//NSLog(@"Post Data: %@",postString);
NSData *postData = [postString dataUsingEncoding:NSASCIIStringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
NSURL *url = [NSURL URLWithString:@"http://api/url"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-encoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSDictionary *jsonData = [NSJSONSerialization
JSONObjectWithData:urlData
options:NSJSONReadingMutableContainers
error:&error
];
NSString *response_message = jsonData[@"response_message"];
我手动将电子邮件和密码嵌入到url中并尝试在没有postData的情况下请求,它返回成功。我检查了电子邮件和密码输入,没有任何问题。然而,我是一个新手,尽管我注意到postData有问题,但我无法弄清楚它有什么问题。