Javascript 聚合物-铁Ajax-如何处理错误响应
我有一个标准的Javascript 聚合物-铁Ajax-如何处理错误响应,javascript,php,ajax,polymer,Javascript,Php,Ajax,Polymer,我有一个标准的ironajax元素,它通过email和password向后端发送login请求 <iron-ajax id="postLoginForm" method="POST" verbose url="../../login" content-type="application/json" handle-as="json" last-error="{{lastError}}" last-response
ironajax
元素,它通过email
和password
向后端发送login
请求
<iron-ajax
id="postLoginForm"
method="POST"
verbose
url="../../login"
content-type="application/json"
handle-as="json"
last-error="{{lastError}}"
last-response="{{lastResponse}}"
on-response="_handleLoginResponse"></iron-ajax>
这是我从服务器得到的始终响应:
{“email”:[“email字段是必需的。”],“password”:[“password字段是必需的。”]}
现在的问题是,只有当响应的状态代码为200
时,才会调用\u handleLoginResponse
方法
但是,如果登录失败,服务器将发送一个422个不可处理实体的状态代码,该代码不会触发\u handleLoginResponse
方法。尽管响应包含上述json
字符串
我想做的是:
我想发送没有凭据的请求。如果请求连续失败,我将收到一个状态代码不是200的响应。我想在页面上显示错误
但是我不知道如何访问响应,如果当状态代码不是200时,\u handleLoginResponse
方法没有触发
当我获得422
状态代码时,如何触发\u handleLoginResponse
方法?所有4**和5**都是错误代码。这意味着您可能还必须收听iron ajaxerror
事件 所有4**和5**都是错误代码。这意味着您可能还必须收听iron ajaxerror
事件 在这种情况下,我得到了200分,但handleLoginResponse不执行。在这种情况下,我得到了200分,但handleLoginResponse不执行
_handleLoginResponse: function (event) {
console.log(event.detail.response);
},