簡體   English   中英

為什么我收到來自此請求iOS JSON的空響應

[英]Why am I getting Empty Response from this Request iOS JSON

目標C代碼

@try {
        NSURL *postURL = [NSURL URLWithString: @"http://yyy.com/api/Customer/"];
        NSDictionary *myDic = [[NSDictionary alloc] initWithObjectsAndKeys:
                               self.firstNameTextField.text, CustFirstName,
                               self.lastNameTextField.text, CustLastName,
                               nil];

        NSError *error;

        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:myDic options:NSJSONWritingPrettyPrinted error:&error];

        if (!jsonData) {
            NSLog(@"Got an error: %@", error);
        } else {

            // Get our Access Token back
            NSString *savedToken = [[NSUserDefaults standardUserDefaults]
                                    stringForKey:@"savedToken"];
            NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
            [request setURL:postURL];
            [request setHTTPMethod: @"POST"];
            [request setValue: @"application/json" forHTTPHeaderField: @"Accept"];
            [request setValue: @"application/json; charset=utf-8" forHTTPHeaderField: @"content-type"];
            [request setValue:savedToken forHTTPHeaderField:@"Authorization"];
            [request setHTTPBody:jsonData];

            NSHTTPURLResponse *response = nil;

            NSLog(@"Response code: %ld", (long)[response statusCode]);

            //NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
            if ([response statusCode] >= 200 && [response statusCode] < 300)
            {
                NSLog(@"Saving Success!");
                [self performSegueWithIdentifier:@"edit_add_customer" sender:self];
            } else {
                NSLog(@"Saving Fail!");
                [self alertStatus:@"Please try again" :@"Saving Fail" :0];
            }


        }
}
@catch (NSException *exception) {
    NSLog(@"Exception: %@", exception);
    [self alertStatus:@"Error Retrieving Customer Data." :@"Error!" :0];
}

無論如何,我放置在Rest Client中的JSON字符串是正確的。 它能夠保存。 我嘗試記錄我的響應StatusCode,它顯示為“ 0”。 有人可以幫我弄這個嗎?

您正在嘗試獲取statusCode,然后再進行實際請求

  NSLog(@"Response code: %ld", (long)[response statusCode]);
  NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

您必須在請求后檢查statusCode

  NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
  NSLog(@"Response code: %ld", (long)[response statusCode]);

暫無
暫無

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

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