iOS与server交互

- (NSString *)loginConnection {
    NSString* returnValue = @"";
    //准备url
    NSString *host = [GlobalData getHostUrl];
    NSString *urlstr = [host stringByAppendingString:@"login.json"];
    NSURL *url = [NSURL URLWithString:urlstr];
    //准备数据
    NSData *postData = [[@"name=" stringByAppendingFormat:@"%@%@%@",self.userNameText.text,@"&password=",self.passwordText.text] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
    [request setURL:url];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:postData];
    //发送请求
    NSHTTPURLResponse* urlResponse = nil;
    NSError *error = nil;
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];

 if ([error localizedDescription]) { // 返回错误,弹出无法连接到server
        returnValue = @"not able to connect to server";
    } else {
        if (responseData) {  //返回OK,(保存user数据,进入下页面);返回No,则popup提示;无返回值,则返回Error
            NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil];
            NSRange range1 = [[responseDict objectForKey:@"status"] rangeOfString:@"OK"];
            if (range1.location != NSNotFound){
                //保存user_id
                NSDictionary *reponseUser = [responseDict objectForKey:@"user"];
                NSUserDefaults *userDefaultes = [NSUserDefaults standardUserDefaults];
                [userDefaultes setObject:[reponseUser objectForKey:@"id"] forKey:@"user_id"];
                returnValue = @"ok";
            }
            NSRange range2 = [[responseDict objectForKey:@"status"] rangeOfString:@"Authentification Failed"];
            if (range2.location != NSNotFound){
                returnValue = @"Authentification Failed";
            }
        } 
    }
    return returnValue;
}
- (NSArray*)getFeedData {
    // 同步请求
    // 初始化请求
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    //获取当前user
    NSUserDefaults *userDefaultes = [NSUserDefaults standardUserDefaults];
    NSString *user_id = [userDefaultes stringForKey:@"user_id"];
    // 设置URL
    NSString *hostUrl = [GlobalData getHostUrl];
    NSString *urlstrtemp = [hostUrl stringByAppendingString:@"feed.json?user_id="];
    NSString *urlstr = [urlstrtemp stringByAppendingString:user_id];
    
    [request setURL:[NSURL URLWithString:urlstr]];
    // 设置HTTP方法
    [request setHTTPMethod:@"GET"];
    // 发送同步请求, 这里得returnData就是返回得数据了
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    // 将NSData数据转化为array
    NSError *e = nil;
    NSArray *post_items = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingMutableContainers error: &e];
    // 返回Data
    //TODO:如果为空,popup can not get data,connect problem
    return post_items;
}

猜你喜欢

转载自iandaicsu.iteye.com/blog/1771375