首页 > 解决方案 > 为什么 console.log() 和 alert() 返回不同的信息?

问题描述

我在 JavaScript 中有以下代码,它接受一个指向图像的 URL,并使用fetch()withFileReader()来获取图像的数据作为数据 URL。

fetch(document.getElementById("image-url").value).then(res => res.blob()).then(data => {
    let reader = new FileReader();
    reader.onload = function() {
        alert(this.result.toString());
        console.log(this.result.toString());
    };
    reader.readAsDataURL(data);
});

但是,alert()返回的内容与返回的内容不同console.log()。(我试图同时包含 和 的图像数据alert()console.log()但它不会让我,因为它们太长了。)

当我从浏览器中加载图像数据时alert(),它返回“无效 URL”,而第二个返回原始图像数据(即它可以工作)。我错过了什么?我打算将此图像数据上传到服务器以供以后使用,但是上传的数据与 相同alert(),这不是很有用。

标签: javascriptfetchfilereader

解决方案


alert()只能处理字符串。 console.log()可以处理对象和字符串。

调试时的 console.log() 与 alert()

const foo = {};
alert(foo);


推荐阅读