簡體   English   中英

如何使用nsjsonserilization添加登錄API?

[英]How to add login api using nsjsonserilization.?

我有一個類似http://qa.networc.in:1336/api/users/app/login的api,並希望在單擊登錄按鈕時觸發該api。 我需要匹配電子郵件和密碼。

 - (void)viewDidLoad {
  [super viewDidLoad];
   name = [NSMutableArray new];

   [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
   NSURL *url =  [NSURL URLWithString:@"http://qa.networc.in:1336/api/users/app/login"];
   NSURLRequest *request= [NSURLRequest requestWithURL:url];
   [NSURLConnection connectionWithRequest:request delegate:self];

}

- (void)didReceiveMemoryWarning {
  [super didReceiveMemoryWarning];
}

-(void)connection:(NSURLConnection *)connection   didReceiveResponse:  (nonnull NSURLResponse *)response     {
  data = [[NSMutableData alloc] init];
  NSLog(@"Did receive response"); 
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData   *)theta {
  [data appendData:thedata];
   NSLog(@"daata");
}

-(void)connectionDidFinishLoading:(NSURLConnection  *)connection {
  [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
  name= [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError   *)error      {
     UIAlertView *errorview= [[UIAlertView alloc]initWithTitle:@"Error"       message:@"The download could not complete please make sure you're connected to internet" delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles: nil];
    [errorview show];
     [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

- (IBAction)login:(id)sender    {


 }

第1步

在.plist中添加以下詳細信息

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
 </dict>

第2步

- (IBAction)login:(id)sender    {




NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://qa.networc.in:1336/api/users/app/login"]];

NSURLSession *session = [NSURLSession sharedSession];
//  email": user_name, "password": password, "deviceToken":'testdata
NSString * params =[NSString stringWithFormat:@"email=%@&password=%@&deviceToken=testdata",yourEmailtextfield.text,yourpasswordtextfield.text];

request.HTTPMethod = @"POST";
request.HTTPBody =[params dataUsingEncoding:NSUTF8StringEncoding];


NSURLSessionDataTask *task = [session dataTaskWithRequest:request
                                        completionHandler:
                              ^(NSData *data, NSURLResponse *response, NSError *error) {
                                  // ...
                                   NSLog(@"Response:%@ %@\n", response, error);
                                  if(error == nil)
                                  {
                                      // use NSJSON Serlizeitaion and serlize your value
                                      NSString * text = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
                                      NSLog(@"Data = %@",text);
                                  }
                              }];

[task resume];

}

有關更多信息,請參閱本教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM