Ajax парсинг ответа от http 409 - PullRequest
0 голосов
/ 06 марта 2020

Попытка разобрать объект сообщения с помощью Ajax, но не может получить ссылку на messages.msg. Он отображается правильно с помощью PostMan, но не может получить это сообщение в Ajax.

PostMail правильно обрабатывает ответ:

    {
       "httpStatusCode": 409,
       "httpStatus": "CONFLICT",
       "messages": {
           "msg": "ticket 1112 is owned by 2223"
    }
}

Ajax

fail(function(xhr, status, error) {
//fail(function(err) { did not work
        //console.log(err);    did not work
        //xhr.responseText;    did not work
        //var msg = $.parseJSON(err).msg;  did not work
        //alert(msg);   did not work
        var acc = []
        $.each(xhr, function(index, value) {
            acc.push(index + ': ' + value);
        });
        alert(JSON.stringify(acc));   //did not see any object which includes  response message
        console.log('FAIL');
    })

Готово отображает идеально подходит для 202 ПРИНЯТ

done(function(data, statusText, xhr) {
        console.log('SUCCESS');
        alert(data.messages.msg);
    })

1 Ответ

0 голосов
/ 17 марта 2020

Пришлось поймать 409, а затем добавить в тело: catch (HttpClientErrorException ex) {return

ResponseEntity.status (HttpStatus.CONFLICT) .body (ex.getResponseBodyAsString ()); -

Затем получить доступ к .fail var data = JSON .parse (jqXHR.responseText);

...