基本的HTTP请求,异步请求

network | | 访问(46)
NSString *urlStr = [NSString stringWithFormat:@"http://localhost:8080/MJServer/login?username=%@&pwd=%@",usernameText, pwdText];
NSURL *url = [NSURL URLWithString:urlStr];

// 创建一个请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];

// 发送一个异步请求
// queue :存放completionHandler这个任务
NSOperationQueue *queue = [NSOperationQueue mainQueue];// mainQueue表示,异步请求后,回到主线程
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
    // 这个block会在请求完毕的时候自动调用
    if (connectionError || data == nil) {
        [MBProgressHUD showError:@"请求失败"];
        return;
    }

    // 解析服务器返回的JSON数据
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    NSString *error = dict[@"error"];
    if (error) {
        // {"error":"用户名不存在"}
        // {"error":"密码不正确"}
        [MBProgressHUD showError:error];
    } else {
        // {"success":"登录成功"}
        NSString *success = dict[@"success"];
        [MBProgressHUD showSuccess:success];
    }
}];