Javascript 如何将html页面转换为基64字符串

Javascript 如何将html页面转换为基64字符串,javascript,angular,Javascript,Angular,我在我的项目中使用了Angular 6,在我的索引页面中,我绑定数据并将其提交给db,我想将整个html页面以及绑定数据作为字符串提交给db 我能知道如何将html页面转换为64进制字符串吗?您可以使用 window.document.documentElement.innerHTML 您可以使用 var markup = document.documentElement.innerHTML; 然后像这样使用btoa()将该字符串转换为base64 var encoded = window.

我在我的项目中使用了Angular 6,在我的索引页面中,我绑定数据并将其提交给db,我想将整个html页面以及绑定数据作为字符串提交给db


我能知道如何将html页面转换为64进制字符串吗?

您可以使用

window.document.documentElement.innerHTML

您可以使用

var markup = document.documentElement.innerHTML;
然后像这样使用
btoa()
将该字符串转换为base64

var encoded = window.btoa(markup);
或者如果你得到UTF8,用这个

var encoded = window.btoa(unescape(encodeURIComponent(markup)));

了解如何将字符串转换为base64,然后将整个html转换为一个字符串,然后再进行转换;控制台收到此错误,我可以知道如何修复此未捕获(承诺中):InvalidCharacterError:无法在“窗口”上执行“btoa”:要编码的字符串包含拉丁1范围之外的字符。错误:无法在“窗口”上执行“btoa”:要编码的字符串包含超出拉丁1范围的字符。
btoa(unescape(encodeURIComponent(markup))
我相信这会解决您的问题。很高兴,您也可以通过单击勾号图标接受答案:P