Polymer - Iron Ajax - 如何处理错误响应

时间:2016-02-04 04:50:42

标签: javascript php ajax polymer

我有一个标准的iron-ajax元素,可以向loginemail发送password个请求到后端。

<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>

我的_handleLoginResponse就是这个,工作正常btw:

_handleLoginResponse: function (event) {
    console.log(event.detail.response);
},

这是始终我从服务器获得的响应:

{"email":["The email field is required."],"password":["The password field is required."]}

现在的问题是,当响应的状态代码_handleLoginResponse时,200方法仅

但是如果登录失败,服务器会发送422 Unprocessable Entity状态代码,但不会触发_handleLoginResponse方法。虽然响应包含上面提到的json字符串。

我想做什么:

我想在没有凭据的情况下发送请求。如果请求连续失败,我会收到状态代码不是200的响应。我想在页面上显示错误。

但是,如果_handleLoginResponse方法没有触发,当状态代码不是200时,我不知道如何访问响应。

当我收到_handleLoginResponse状态代码时,如何触发422方法?

1 个答案:

答案 0 :(得分:2)

所有4 **和5 **都是错误代码。这意味着您可能还必须收听iron-ajax ActiveSheet.Copy After:=Sheets(ActiveSheet.Name) Sheets(ActiveSheet.Index + 1).Name = dt 事件。