【问题标题】:AFHTTPRequestOperationManager Post FailedAFHTTPRequestOperationManager 发布失败
【发布时间】:2013-11-12 05:25:27
【问题描述】:

我的代码在这里:

AFHTTPRequestOperationManager *managers = [AFHTTPRequestOperationManager manager];

NSMutableDictionary *parDic = [NSMutableDictionary dictionary];

[parDic setObject:@"admin" forKey:@"userId"];

[parDic setObject:@"1" forKey:@"password"];

  [managers POST:@"http://posttestserver.com/post.php?" parameters:par success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
    NSLog(@"sucess");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

打印:Error: Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: text/plain"

但是当我使用厨房测试这个请求时,它工作正常。为什么?请帮助我,非常感谢!

【问题讨论】:

  • 这个错误可能是You Not start your operation...[operation start];
  • managers.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];添加此行并按照上面链接中的说明尝试。
  • 感谢您的回答

标签: ios afnetworking-2


【解决方案1】:

按照下面的代码我成功了

NSString *StringUrl = [NSString stringWithFormat:@"%@?userId=%@&password=%@",YourUrl,@"admin",@"1"];

    NSURLRequest *UrlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:StringUrl]];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:UrlRequest];

    operation.responseSerializer = [AFJSONResponseSerializer new];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *OP,id ResponseObj)
     {

         NsLog(@"Success == %@",ResponseObj);


     }failure:^(AFHTTPRequestOperation *OP,NSError *error)
     {

         NsLog(@"Error == %@",[error localizedDescription])

     }];

    [operation start];

【讨论】:

  • 对不起,我忘记了一些代码。您的方法是“GET”方法,但我想使用“POST”方法。谢谢。
【解决方案2】:

在尝试了其他所有方法后,这条线对我有用:

operation.responseSerializer = [AFCompoundResponseSerializer 序列化器];

NSString *strdata =[NSString stringWithFormat:@"{\"objID\":\"%ld\",\"objString\":\"%@\",\"objWidth\":\"%@\",\"objHeight\":\"%@\",\"objStartX\":\"%@\",\"objStartY\":\"%@\",\"objEndX\":\"%@\",\"objEndY\":\"%@\",\"objSnapX\":\"%@\",\"objSnapY\":\"%@\",\"objImage\":\"%@\"}",
                    (long)self.accelerometerObject.objID,
                    self.accelerometerObject.objString.string,
                    self.accelerometerObject.objWidth,
                    self.accelerometerObject.objHeight,
                    self.accelerometerObject.objStartX,
                    self.accelerometerObject.objStartY,
                    self.accelerometerObject.objEndX,
                    self.accelerometerObject.objEndY,
                    self.accelerometerObject.objSnapX,
                    self.accelerometerObject.objSnapY,
                    self.accelerometerObject.objImage];
NSLog(@"%@",strdata);
NSDictionary *parameters = @{
                             @"data" : strdata,
                             };
AFHTTPRequestOperationManager *requestOperationManager = [AFHTTPRequestOperationManager manager];
requestOperationManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
NSString *requestURL = @"http://yourserver.com/dataHandler.asmx/scriptToHandlePost";
requestOperationManager.responseSerializer = [AFCompoundResponseSerializer serializer];
requestOperationManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[requestOperationManager POST:requestURL
                   parameters:parameters
                      success:^(AFHTTPRequestOperation *operation, id responseObject)
 {
     NSLog(@"Succeeded:    >>>>>>> %@",strdata);
 }
                      failure:^(AFHTTPRequestOperation *operation, NSError *error)
 {
     NSLog(@">>>>>>>>>>>failed %@",error);
 }];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 2020-06-08
    • 2018-07-05
    • 2017-07-04
    相关资源
    最近更新 更多