【发布时间】:2014-01-12 21:37:34
【问题描述】:
我目前有 3 个文件;它们在我计算机上的同一目录中:
- project.html
- javascript.js
- 文本.txt
“project.html”中的代码
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="javascript.js">
</script>
<script
//calling the Google Maps API
</script>
<script>
//code to initialize Google Maps
</script>
</head>
<body>
<div class="content">
<div id="googleMap"></div>
<div id="right_pane_results">hi</div>
<div id="bottom_pane_options">
<button onclick="get_parameters()">Try It</button>
</div>
</div>
</body>
</html>
“javascript.js”中的代码
function get_parameters() {
alert('hi');
var xhr = new XMLHttpRequest();
xhr.addEventListener('readystatechange', (output) => {
if (xhr.readyState === 4) {
var response = xhr.responseText;
callback(response);
}
});
xhr.open('GET', 'text.txt', true);
xhr.send();
}
“text.txt”中的文本
- 铁
- 铝
- 钢
等等...(接近 150 行)
最后,我想将“text.txt”解析为一个数组,并使用该数组创建一个包含数组内容的选项菜单。我发布了一个问题,询问我是否可以使用 JavaScript 解析文件,但由于安全问题,答案是否定的。 JavaScript代码是我尝试过但没有奏效的。也就是说,我可以使用另一种语言来读取文件并创建选项菜单吗?
我最终希望在“project.html”文件中包含这样的内容(如下):
<select>
<option value="1">Line 1 of File</option>
<option value="2">Line 2 of File</option>
<option value="3">Line 3 of File</option>
<!-- etc... -->
</select>
注意事项:
- 所有文件不是在服务器上,而是在我的计算机上运行(所以我猜像
PHP这样的服务器大小的语言不是一个选项) - 我想根据“text.txt”中的内容自动创建一个选项菜单
- 文件在同一目录中
- 我不希望用户能够选择读取哪个文件。 “text.txt”是由我制作的另一个程序制作并填充的文件,并且可能会更改;这就是我想在每次页面加载时读取文件的原因。
【问题讨论】:
-
仅供参考,如果您的页面在
file://协议而不是http://下运行,您的AJAX 请求可能由于javascript 安全沙盒而无法工作。如果您没有服务器,请尝试 MAMP 或 WAMP(我相信免费)来设置本地 Web 堆栈。 -
你遇到了什么错误?
-
不清楚你在问什么。您需要splitting 对数组响应的帮助吗?
-
即使您的文件只是在您的计算机上运行,您仍然可以在本地设置 XAMPP 或 WAMPP 或其他任何东西以便能够使用 PHP。
-
这很难吗?这个项目将在 5 天内到期,所以我想使用不会占用太多时间的东西。
标签: javascript html arrays file-io local