我正在尝试将用户输入提交到网页,然后检索返回的数据。该网页采用人名,并从数据库中返回他/她的信息。当用户单击按钮然后将用户的输入发送到该网页时,我尝试发出POST请求。但是当我打印出返回的数据时,它只是该网页的html源代码,只有没有javaScript。如何更改/添加以下功能以获取此人的信息页面?我花了很多时间但仍然无法弄明白。请帮我!谢谢!
-(void) sendHTTPPost{
NSString* input = nameTextField.text;
//1
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://find.pitt.edu"]];
[req setHTTPMethod:@"POST"];
//2
NSData* postData = [input dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
//3
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];
[req setValue:postLength forHTTPHeaderField:@"Content-Length"];
[req setValue:@"text/html" forHTTPHeaderField:@"Content-type"];
[req setHTTPBody:postData];
//4
NSURLSession *session = [NSURLSession sharedSession];
//5
NSURLSessionDataTask *task = [session dataTaskWithRequest:req
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// Do something with response data here - convert to JSON, check if error exists, etc....
if(error != nil){
NSLog(@"error: %@", error);
}
else{
NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", str);
NSLog(@"response = %@", response);
}
}];
[task resume];
}
答案 0 :(得分:0)
POST主体不太可能只包含该值。机会是,它应该包含
键=值&安培;键2 =值&安培; KEY3 =值3 ...
其中key是输入的名称,value是该输入的值,采用URL编码格式。 (有关如何对值进行URL编码的详细信息,请参阅"编码URL数据"在URL Session Programming Guide中。)