Polymer Iron Ajax - 如何在错误事件后访问请求的响应?

时间:2016-02-05 09:11:18

标签: javascript ajax polymer

我使用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>

如果请求正文为空,则服务器始终响应错误:

  

错误:请求失败,状态码为:422

这会触发我想要访问实际响应的_handleErrorResponse方法,如下所示:

  

{&#34;电子邮件&#34;:[&#34;电子邮件字段是必需的。&#34;],&#34;密码&#34;:[&#34;密码字段是必需的。 &#34;]}

以下是我_handleErrorResponse的样子:

_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);
},

以下是输出结果:

Developer Tools Output

那么,我如何访问响应以便将其输出到视图?

1 个答案:

答案 0 :(得分:14)

我认为你可以在这里得到错误JSON:

event.detail.request.xhr.response

要获得更完整的解释,您可以在此处阅读其他相关问题的接受答案:

Iron Ajax - How to access Response from on-response function?

干杯!