내 응용 프로그램에서 SBJson 값을 구문 분석하는 데 사용하고 있습니다. 웹 서비스는 닷넷으로 개발됩니다. PHP 웹 서비스를 사용하면 코드가 잘 작동하지만 닷 넷 웹 서비스에서는 응답 값이 표시되지 않습니다. 코드에 오류나 예외 또는 경고가 없습니다. json 출력을 제공하는 dot net webservices에서 값을 검색하는 방법은 무엇입니까?
이
은 웹 서비스의 JSON 출력입니다 :{ "헤드": [{ "ID": "0", "MSG": "아이디 또는 일치하지 암호"}]}
여기에 사용자 이름 암호가 잘못되었지만 내 코드가 잘못된 값을 반환하지 않습니다.
NSString *post = [NSString stringWithFormat:@"key=%@&username=%@&password=%@",key.text,[txtUsername text],[txtPassword text]];
NSLog(@"PostData: %@",post);
NSURL *url = [NSURL URLWithString:@"http://jabdcdfddfsd.aspx"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSLog(@"%@", postData);
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"%@",postLength);
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-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSLog(@"%@",request);
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"%@",response);
NSLog(@"Response code: %d", [response statusCode]);
if ([response statusCode] >=200 && [response statusCode] <300)
{
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData)
도움말 날 :
이 사람은 내 코드입니다. responseData는 아무것도 인쇄하지 않습니다. 내 코드에 문제가 있거나 문제가 다른 끝에있다. dotnet 웹 서비스를 의미한다.
urlData가 0이 아니며 urlData.length> 0이고 NSUTF8StringEncoding이 인코딩되어 있습니까? –