0

次のようなURLで作業しているWebサービスがあります

//myurl/index.jsp?user_name=bob&user_pwd=new

ご覧のとおり、ユーザー名は「bob」、パスワードは「new」に設定されています。サイトは、入力時にこのjsonファイルを提供し、

[{"success":"1"}]

"bob"ユーザーがユーザー名と"new"パスワードとして入力すると、次のコントローラーにつながるはずのxcodeにどのように実装しますか。どうすればそれを達成できますか?

このチュートリアルに従いましたが、まったく同じではありません。これを行うにはどうすればよいですか。ありがとう。

4

5 に答える 5

2

ナビゲーション コントローラーを使用し、ビュー コントローラーを rootViewController として設定します。次に、ユーザーが資格情報を入力した後、新しいビュー コントローラーをナビゲーション スタックにプッシュします。

于 2013-02-01T10:20:55.337 に答える
0

json レスポンスから成功の値を取得します。1 に等しい場合は、次のコントローラーにプッシュします。それ以外の場合は何もしません。

于 2013-02-01T10:28:35.510 に答える
0

あなたが探している答えではありませんが、これはあなたが何を使うべきかについてのより多くの推奨事項です. ネットワーク関連のアクティビティにはgithub リンクを使用します。それらには優れたドキュメントがあり、非常に使いやすい (ブロックを使用)

NSDictionary *paramsDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"user",@"client_id",@"password",@"new", nil];

    [[YourAFHttpClientExtenstion sharedInstance] postPath:LOGIN_PATH parameters:paramsDictionary success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //handle success

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
       // handle error.
    }];

YourAFHttpClientExtenstion は AFHttpClient を拡張し、共有インスタンスの招集メソッドを追加し、initWithBaseUr を実装します。

于 2013-02-01T11:25:26.030 に答える
0

次のコードでは、いずれか GETまたはPOSTメソッドでデータを渡すことができます...いずれかを使用します(お望みどおり

-(void) sendRequest
{
  //////////////////////////// GET METHOD  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   NSString *strURL=[NSString stringWithFormat:@"http://myurl/index.jsp?user_name=bob&user_pwd=new"];
    self.request=[NSURLRequest requestWithURL:[NSURL URLWithString:strURL]];
    self.nsCon=[[NSURLConnection alloc] initWithRequest:request delegate:self];

 //////////////////////////// POST METHOD  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    NSString *postString = [NSString stringWithFormat:@"&user_name=bob&user_pwd=new"];
    NSString *url = [NSString stringWithFormat:@"http://myurl/index.jsp/"];

    self.request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
    [self.request setHTTPMethod:@"POST"];

    [self.request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    if(self.nsCon)
    {
        self.receivedData=[[NSMutableData alloc] init];
    }
    else
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",@"") message:NSLocalizedString(@"Not Connected !!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}

#pragma mark -
#pragma mark - Connection Delegate Methods

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [self.responseData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [self.responseData appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    [GeneralClass stopHUD];
    NSLog(@"Connection failed.");
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",@"") message:NSLocalizedString(@"Connection failed!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
    [alert show]; alert = nil;
}

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection
    {
        NSString *responseString = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];
        NSMutableDictionary *receivedData = [responseString JSONValue];

        if([[receivedData objectForKey:@"success"]  isEqualToString:@"1"])
        {
            MainDetailViewController *mdController = [[MainDetailViewController alloc] init];
            [self.navigationController pushViewController:mdController animated:YES];
        }
        else
        {
            NSLog(@"%@",receivedData);
        }

    }
于 2013-02-01T10:30:45.907 に答える
0

ログインデータの投稿

    NSString *soapMsg = [NSString stringWithFormat:@"&data={\"LoginUser\":[{\"UserName\":\"%@\",\"Password\":\"%@\"}]}",firstname.text, password.text];

    NSHTTPURLResponse *response;
    NSData *myRequestData = [ NSData dataWithBytes: [ soapMsg UTF8String ] length: [ soapMsg length ] ];
    NSString *postLength = [NSString stringWithFormat:@"%d", [myRequestData length]];
    NSMutableURLRequest *request = [ [ NSMutableURLRequest alloc ] initWithURL: [ NSURL URLWithString:@"http://myurl/index.jsp"]];

    [request setHTTPMethod: @"POST" ];
    [request setHTTPBody: myRequestData ];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody: myRequestData];

    NSURLConnection *myConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];

json データを受信して​​検証する

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
        NSString *responseString = [[NSString alloc] initWithData:WebXmlData encoding:NSUTF8StringEncoding];
        NSDictionary *results = [responseString JSONValue];
        BOOL success = [[results objectForKey:@"success"] boolValue];

        if (success) {
             ViewController *viewController =[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
             [self.navigationController pushViewController:viewController animated:YES];    
        }


    }
于 2013-02-01T10:35:32.137 に答える