2016-07-12 20 views
0

このデータはAFNetworkingではなく、「Postman」のWebサービスに完全に正常に投稿されているため、AFNetworkingやAFNetworkingのNSDictionaryの処理に関する問題です。私が投稿するには、以下の単純なコードを使用していますAFNetworking POSTパラメータ(アンダースコア付き)

: "2016" @:LAST "tryParameters" で

AFHTTPSessionManager *newSession = [AFHTTPSessionManager manager]; 
     newSession.requestSerializer = [AFJSONRequestSerializer serializer]; 
     newSession.responseSerializer = [AFJSONResponseSerializer serializer]; 
NSDictionary *tryParameters = @{@"tripID": @"1234", @"tailNum": @"N15HEHE", @"legNum": @"1", @"file_date": @"2016"}; 
[newSession POST:HTTP_POST_TRIP_DATA parameters:tryParameters progress:^(NSProgress * _Nonnull uploadProgress) { 
      NSLog(@"TRY"); 
     } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { 

      NSString *status = [responseObject valueForKey:@"status"]; 

      NSLog(@"RESPONSE: %@", responseObject); 

      if ([status isEqualToString:@"success"]) { 

       files(YES); 
      } else { 

       files(NO); 
      } 

     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 
      //NOT success 
      files(NO); 
     }]; 

は、私が "FILE_DATE" のキー/値を持っています。その下線は問題のようです。 file_dateキーから "_"(アンダースコア)を削除すると、すべてが処理されているように見えます。 (もちろん、私のサーバーから "file_date"が与えられていないというエラーが出ます)。私は私の「FILE_DATE」キーに「_」を残す場合は、POSTリクエストが失敗したと私は取得...

[0] (null) @"com.alamofire.serialization.response.error.response" : (no summary) 
[1] (null) @"NSErrorFailingURLKey" : @"http://xxxxxxx.com/xxx/createTrip" 
[2] (null) @"com.alamofire.serialization.response.error.data" : (no summary) 
[3] (null) @"NSLocalizedDescription" : @"Request failed: unauthorized (401)" 

は私が把握することはできませんなぜ「_」などの問題です。私はGET要求で私のサーバーからそれを読むことができますが、POSTしようとすると失敗します。

答えて

0

この同じ問題を抱えている人は、私は問題を理解した。 AFNetworkingのデフォルトのrequestSerializerでは、基本的に特殊文字は使用できません。あなたは「かわいい」オプションは、特殊文字を可能にし、ちょうど仕事をする私の前のコードに許可...このコード行に

newSession.requestSerializer = [AFJSONRequestSerializer serializer]; 

...

newSession.requestSerializer = [AFJSONRequestSerializer serializerWithWritingOptions:NSJSONWritingPrettyPrinted]; 

をこのコード行を変更する必要があります良い。

これを並べ替えるのに時間がかかったので、うまくいけば、これは誰かを助けます。

関連する問題