表单提交时:html文档的字符编码没有声明(尽管声明了)



我看到了一些与此相关的问题,但几乎所有问题都使用php。我只有一个简单的html文件,有一个输入和一个按钮。我尝试过使用建议的解决方案,但在用按钮提交表单后总是会出现错误。我已将字符编码为utf-8。我也有<meta charset="utf-8" />,但在看到SO上的其他解决方案时发表了评论,我已经实施了这些解决方案,但没有效果。

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<script src="index.js"></script>
<title>My Page</title>
</head>
<body>
<form name="data-form" enctype="multipart/form-data" method="post">
<input type="file" id="file-input">
<button id="form-btn" type="submit">Load File</button>
</form>
</body>
</html>

根据我的初步理解,这应该读文件没有问题。我正在尝试上传一个JSON文件,不确定这是否是问题所在。这是一个有效的JSON,我已经检查过了。

链接的index.js文件目前无论如何都不会与上传的文件交互,因此为了简洁起见,我没有将其包括在内。

编辑

我"已解决";我想。更像是绕过了它。我写了一个JS函数(readFile()(来点击阅读,并将按钮的类型更改为type="button",然后放了一个onclick="readFile()",现在它可以正确地读取文件和eecutes。希望这能帮助其他有类似问题的人。我想这是可以关闭的。

请参阅编辑。我使用了这个问题中发布的IFFE答案的修改版本。如何访问上传的JSON文件的数据?。我不确定这是否是";技术上";解决方案,但它适用于我的目的。

最新更新