AFNetworking, AFHTTPRequestOperationManager не работает при работе с кодом 200

1

с недавней проблемой с AFNetworking. У меня есть PHP-сервер, и я использую структуру SLIM. Упрощенный пример того, что происходит: если я использую ссылку http://xxx.xxx.xx.xx/InstaAPI/hi, это должно быть вызвано:

$app->get('/hi', function() use($app) { 

    $app->response->setStatus(200);
    echo "hiiii\n";
});

Теперь в моем объектно-c-коде есть:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager GET:@"http://xxx.xxx.xx.xx/InstaAPI/hi" parameters:nil success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
        NSLog(@"ok");
        NSLog(@"%@",responseObject);
    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
        NSLog(@"fail");
        NSLog(@"%@", operation.responseString);
    }];

Результат, который я получаю в выходной консоли:

015-10-08 18:30:20.650 iReporter[12822:3214201] fail
2015-10-08 18:30:20.650 iReporter[12822:3214201] hiiii

Не знаю, почему он вызывает блок отказов. Теперь статус установлен на 200, так что все должно быть в порядке. Может ли кто-нибудь дать мне несколько указаний на то, что я могу делать неправильно здесь, пожалуйста?

  • 0
    Вы пытались выйти из ошибки из блока сбоя? Это может пролить больше света на это
  • 0
    ааа, спасибо, мужик. Немного новичок, так что не думаю, что проверять так. Возникла проблема, поскольку заголовки установлены в JSON. Если вы видите мое эхо "hiiii \ n"; это не ответ JSON. По какой-то причине я думал, что смогу отлаживать с помощью рассеянных эхо. Очевидно, что нельзя использовать их все, если для него установлено значение JSON.
Теги:
slim
afnetworking

1 ответ

1

Собираюсь ответить на это сам. Это оказалось очень простым. Мои заголовки настроены на 'Content-Type', 'application/json'. echo "hiiii\n"; не является JSON, поэтому мне пришлось использовать:

$response = array("Response"=>"HI!");
$echo json_encode($response);

Причина, по которой я получал такие ошибки, состояла в том, что я пытался отлаживать код, рассеивая эхо-сигналы в глупых местах, чтобы проверить, где это произошло в моем PHP-скрипте. Мораль истории, не используйте одно эхо, если ваши заголовки настроены на JSON!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню