#import "YYViewController.h"
#import "MBProgressHUD+MJ.h"
@interface YYViewController ()
@property (weak, nonatomic) IBOutlet UITextField *username;
@property (weak, nonatomic) IBOutlet UITextField *pwd;
- (IBAction)login;
@end
@implementation YYViewController
- (IBAction)login {
// 1.提前的表单验证
if (self.username.text.length==0) {
[MBProgressHUD showError:@"请输入用户名"];
return;
}
if (self.pwd.text.length==0) {
[MBProgressHUD showError:@"请输入密码"];
return;
}
// 2.发送请求给服务器(带上账号和密码)
//添加一个遮罩,禁止用户操作
[MBProgressHUD showMessage:@"正在努力加载中...."];
//
// 1.设置请求路径
// NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
// NSURL *url=[NSURL URLWithString:urlStr];
// 1.设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数
// 2.创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法
//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
//客户端类型,只能写英文
[request setValue:@"ios+android" forHTTPHeaderField:@"User-Agent"];
// 3.发送请求
//获取一个主队列
NSOperationQueue *queue=[NSOperationQueue mainQueue];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//当请求结束的时候调用(有两种结果,一个是成功拿到数据,也可能没有拿到数据,请求失败)
[MBProgressHUD hideHUD];
if (data) {//请求成功
NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
//判断后,在界面提示登录信息
NSString *error=dict[@"error"];
if (error) {
[MBProgressHUD showError:error];
}else
{
NSString *success=dict[@"success"];
[MBProgressHUD showSuccess:success];
}
}else //请求失败
{
[MBProgressHUD showError:@"网络繁忙,请稍后重试!"];
}
}];
NSLog(@"请求发送完毕");
}
@end
iOS开发网络篇—JSON介绍
最新推荐文章于 2025-08-08 12:35:56 发布