【问题标题】:passing parameters to web method将参数传递给 web 方法
【发布时间】:2013-06-18 21:01:53
【问题描述】:

在网络服务器上是以下方法:

[WebMethod()]
public static string login(string userName, string password)
{
    if (usernName == "test" && password == "test")
    {
         return "validated";
    }
    return "error";
}

我正在尝试使用以下 Objective C 代码连接到它:

NSString *post = [NSString stringWithFormat:@"userName="test"&password="test"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSString *serverURLString = @"http://myURL.aspx/login";
NSURL *serverURL = [NSURL URLWithString:serverURLString];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:serverURL];
[request setHTTPMethod:@"POST"];

[request addValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];

NSHTTPURLResponse *urlResponse = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];

NSLog(@"response data = %@", responseData);

我迷失在无知的新手领域,并认为最后一行会在我的 Objective C 控制台中打印出“已验证”或“错误”,但它返回一个整数(我相信这对于那些有在 =)) 之前完成此操作。

谁能告诉我如何在我的 Objective C 日志中看到 webMethod 返回值?

-编辑- 我刚刚注意到,无论我是否使用正确的用户名/密码组合,我都会收到 200 的 HTTP 响应状态代码,我猜这也可能意味着问题出在其他地方?

【问题讨论】:

    标签: c# objective-c xmlhttprequest webmethod


    【解决方案1】:

    您可以使用响应中返回的NSData 创建一个NSString。例如:

    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    

    【讨论】:

    • 谢谢伊恩。该字符串是否应该包含 webMethod 返回值?它似乎只返回页面的 HTML(虽然我猜这可能意味着我的错误是在实际连接中)。
    • 是的,理论上您应该看到打印的“已验证”或“错误”。您获得 HTML 的事实通常意味着您在返回的服务器端收到错误。
    • 我确定这只是复制/粘贴问题或其他问题,但您的帖子参数字符串需要编辑: NSString *post = [NSString stringWithFormat:@"userName=\"test\"&password =\"测试\""];
    • 再次感谢伊恩。我似乎在其他地方遇到了问题,所以我会接受关闭此问题并发布一个简化的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多