2

假设我想QUnit在浏览器中测试一个处理字符串的 javascript 函数。现在我想从文件中读取输入字符串。

我想我不能使用node.js模块来访问文件系统。我正在考虑从 javascript 调用浏览器以通过 URL (file:/home/...) 读取文件

是否有意义?你建议怎么做?

4

3 回答 3

2

您可能想查看FileFileReader API。它们允许访问本地存储的文件。

您还可以考虑使用 JSONP 从远程主机检索您的测试数据。无论何时您想运行测试,您都需要对该主机进行网络访问。

于 2012-07-06T08:25:34.120 回答
1

由于浏览器的同源策略限制,“file:/home/”仅在您在浏览器中打开本地 html 文件时才有效。

如果要遵循标准,则必须在包含要测试的 js 函数的 html 所在的同一台服务器上托管此类文件,并通过 ajax 请求加载它。它将在您的 JS 上下文中作为纯字符串提供。

于 2012-07-06T08:30:03.513 回答
1

在我看来,您有两种选择:

  1. 使用纯 Ajax 读取文件 url 的内容(顺便说一句,我以前从未尝试过)
  2. 使用网络服务器运行一种支持读取文件内容并将其作为 http 响应发送的语言。使用 Ajax 检索并存储该响应。
于 2012-07-06T08:28:26.283 回答