Ошибка ответа с сервером

У меня есть экспресс-сервер для отправки данных на сервер и с сервера для моего мобильного приложения. это то, что мой экспресс-сервер отправляет обратно из моего почтового запроса, который я отправляю в своем приложении на сервер

then(() => { console.info("ok send"); res.status(200).send("ok")}).catch((err) => {console.info(err); res.status(400).send('error')})

Почтовый запрос отправляется и принимается сервером, и я хочу, чтобы сервер отправил ответ «ОК» обратно в приложение. Это правильно, потому что я получаю одобрение отправки в консоли. В мобильном приложении я использую AsyncHttpClient.

 AsyncHttpClient.post("/url/" + id,json,new JsonHttpResponseHandler(){
        @Override
        public void onSuccess(int statusCode, Header[] headers, String response) {
            super.onSuccess(statusCode, headers, response);

            System.out.println("succes");

        }

        @Override
        public void onFailure(int statuscode,Header[] headers, String response, Throwable trowable){
            super.onFailure(statuscode,headers,response,trowable);
            System.out.println("fail");
            System.out.println(response);
            System.out.println("statuscode = " + statuscode);

        }




    });

Когда я получаю подтверждение, он автоматически переходит в onFailure, даже если код состояния = 200. И андроид выдает сообщение об ошибке:

W/JsonHttpRH: onFailure(int, Header[], String, Throwable) was not overriden, but callback was received org.json.JSONException: Response cannot be parsed as JSON data

Как я могу решить эту проблему и заставить ее идти к успеху? Спасибо

он ясно показывает, что «Ответ не может быть проанализирован как данные JSON», проверьте формат вашего ответа, он в json?

GvSharma 13.05.2019 11:54
1
1
662
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

изменить JsonHttpResponseHandler на TextHttpResponseHandler

client.post("/url/" + id,json,new TextHttpResponseHandler(){
    @Override
    public void onSuccess(int statusCode, Header[] headers, String response) {
        System.out.println("succes");

    }

    @Override
    public void onFailure(int statuscode,Header[] headers, String response, Throwable trowable){
        System.out.println("fail");
        System.out.println(response);
        System.out.println("statuscode = " + statuscode);

    }
});

Другие вопросы по теме