有没有办法访问'core-ajax handleAs =“document”请求的响应内容,该请求收到'4xx'http状态代码?
答案 0 :(得分:2)
向 core-ajax 元素添加错误处理程序:
<core-ajax on-core-error="{{onError}}" ...>
您的回调函数会收到一个事件对象,请将其命名为e
。 e.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 元素。