core-ajax with handleAs' document'错误4xx

时间:2014-07-26 13:46:05

标签: polymer

有没有办法访问'core-ajax handleAs =“document”请求的响应内容,该请求收到'4xx'http状态代码?

1 个答案:

答案 0 :(得分:2)

core-ajax 元素添加错误处理程序:

<core-ajax on-core-error="{{onError}}" ...>

您的回调函数会收到一个事件对象,请将其命名为ee.detail.response仅包含信息性消息字符串,但e.detail.xhr包含原始XHR响应对象。

编辑:使用handleAs="document"时的其他注意事项:在这种情况下,使用Polymer 0.3.4时会引发异常。

  

Uncaught InvalidStateError:无法读取'responseText'属性   来自'XMLHttpRequest':只有对象的值才能访问该值   'responseType'是''或'text'(是'document')。

这是有问题的代码

var response = xhr.status + ': ' + xhr.responseText;

因此错误处理代码不会检查响应类型是否设置为document。

在这种情况下,您可能需要直接使用 core-xhr 元素。