Uncaught DOMException: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'blob'). at XMLHttpRequest.<anonymous> (http://localhost:8082/asset/js/jquery-2.1.4.min.js:4:14822)
时间: 2024-01-13 11:04:54 浏览: 404
这个错误是因为您尝试在响应类型为'blob'的情况下访问XMLHttpRequest对象的'responseText'属性,但'responseText'属性只能在响应类型为''或'text'时访问。
由于我们将响应类型设置为'blob',因此您需要使用其他方法来处理图像数据。您可以使用`FileReader`对象将Blob对象转换为可读的数据。
以下是修改后的代码示例:
```javascript
$.ajax({
url: 'your_image_url',
method: 'GET',
xhrFields: {
responseType: 'blob'
},
success: function(response) {
var reader = new FileReader();
reader.onloadend = function() {
// 获取转换后的数据
var dataUrl = reader.result;
// 在页面上显示图像
$('#image').attr('src', dataUrl);
};
reader.readAsDataURL(response); // 使用readAsDataURL方法将Blob对象转换为可读的数据
}
});
```
在上述示例中,我们创建了一个FileReader对象,并在其`onloadend`事件处理程序中获取转换后的数据。通过调用`readAsDataURL`方法,我们将Blob对象转换为以"data:image/png;base64,"为前缀的Data URL。然后,我们将Data URL赋值给页面上的图像元素的'src'属性,以便显示图像。
这样修改后,您应该能够正确地处理Content-Type为image/png的响应。
阅读全文