【发布时间】:2016-07-12 03:16:04
【问题描述】:
这些数据在“邮递员”中完美地发布到我的网络服务,但在 AFNetworking 中却没有,所以我知道这是 AFNetworking 或 AFNetworking 处理 NSDictionary 的问题。
我使用下面的简单代码来发帖:
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);
}];
在最后一个“tryParameters”上,我有一个“file_date”的键/值:@“2016”。这个下划线似乎是问题所在。如果我从 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 时,它失败了。
【问题讨论】:
标签: json post afnetworking