0

在我的应用程序中,我使用 SBJson 来解析值。Web 服务是在 dot net 中开发的。使用 php web 服务,代码工作得很好,但使用 dot net web 服务,这没有显示响应值。代码中没有错误、异常或警告。

这是 Web 服务的 JSON 输出:

{ "Head":[ { "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 Web 服务中。

4

1 回答 1

1

我认为如果代码在旧的 php web 服务上运行良好,你应该仔细看看你的 .Net web 服务。它很可能在某些方面有所不同。尝试使用Chrome Advanced REST 客户端之类的工具来查看每个 Web 服务的响应方式。

于 2013-02-03T21:55:51.290 回答