I use iron-ajax:
<iron-ajax
id="postLoginForm"
method="POST"
verbose
url="../../login"
content-type="application/json"
handle-as="json"
on-response="_handleLoginResponse"
on-error="_handleErrorResponse"></iron-ajax>
The server always responds with an error if the request body is empty:
Error: The request failed with status code: 422
This triggers my _handleErrorResponse
method in which I would like to access the actual response, which looks like this:
{"email":["The email field is required."],"password":["The password field is required."]}
Here is what my _handleErrorResponse
looks like:
_handleErrorResponse: function (event) {
console.log(event);
console.log(event.detail);
console.log(event.detail.error);
console.log(event.detail.error.message);
console.log(event.detail.request);
console.log(event.detail.response);
console.log(event.detail.request.response);
},
And here is what the output looks like:
So, how do I access the response so that I can output it to the view?
I think you can get the error JSON here:
event.detail.request.xhr.response
To get a more complete explanation, you can read the accepted answer to a different, but related question here:
Iron Ajax - How to access Response from on-response function?
Cheers!