ios - NSURLConnection 无响应

标签 ios objective-c cocoa-touch cocoa nsurlconnection

我有以下代码,它应该简单地加载一个带有发布数据的 URL,然后从服务器获取 HTML 响应:

// Send log in request to server
NSString *post = [NSString stringWithFormat:@"username=%@&password=%@", text_field_menu_username.text, text_field_menu_password.text];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request;
[request setURL:[NSURL URLWithString:@"http://example.com/test.php"]]; // Example Only
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
    // Handle response
    NSString *response_string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Data 1: %@", response);
    NSLog(@"Data 2: %@", data);
    NSLog(@"Data 3: %@", error);
    NSLog(@"Data 4: %@", response_string);
}];

这是每个 NSLog 的输出:

Data 1: (null)
Data 2: (null)
Data 3: (null)
Data 4: 

知道我做错了什么吗?

最佳答案

在设置参数之前,您还没有初始化 request 对象。应该是:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

关于ios - NSURLConnection 无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285916/

相关文章:

ios - 将NSUserDefaults放在哪里存储注释

ios - 类别方法是否覆盖了潜在的安全问题?

iphone - iOS:将 UIImageView 图像分解为形状并更改其颜色

ios - 使用unregisterForRemoteNotifications后,registerusernotification设置不起作用

objective-c - 我怎样才能让一个方法停止一段固定的时间?

ios - 内存警告导致崩溃

ios - UITabBarControllerDelegate - 不为委托(delegate)触发的方法?

objective-c - 苹果操作系统 X : How to force a Field Editor to scroll instead of wrap text?

iphone - MPMoviePlayerViewController,删除 quicktime 符号/添加背景图像?

ios - 我应该如何将单个项目添加到核心数据? insertIntoManagedContext 或 insertNewObjectForEntityForName?