【发布时间】:2018-05-16 02:25:22
【问题描述】:
我租了一台服务器,现在有一个网站。但我有一个问题:我想引用我保存在服务器上的文本文件并将内容加载到字符串中。我尝试了以下方法:
<script type="text/javascript">
var filePath = "the link";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",filePath,false);
xmlhttp.send(null);
var fileContent = xmlhttp.responseText;
var fileArray = fileContent.split('\n')
//Now do whatever you need with the array
window.alert(fileArray);
</script>
问题在于:我不工作 :-( 我可以加载其他文本文件(例如,来自 GitHub),但在我的服务器上引用文本文件总是无法工作!这些文件是公开可用的,可以读取和执行。我也尝试通过 Java 获取内容:
import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL oracle = new URL("the link");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
System.out.println(in.readLine());
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
此代码工作正常(即使对于我的服务器文件)。你能帮助我吗?为什么它不起作用?
【问题讨论】:
-
高度怀疑这与 Ajax 有什么关系。那么如果你直接在浏览器中调用你的url,会不会有同样的问题呢?
-
可能是
cors问题?控制台有什么错误吗? -
除了 CORS 问题,同步 XHR 已被弃用(请参阅 developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open)。也许您的浏览器阻止了请求?
-
@epascarello 不,我通过 URL 在浏览器中调用文件没有同样的问题。
-
好的开始在客户端调试,控制台有错误吗?什么是状态文本?什么是响应? console.log() 是你的朋友。 alert() 被屏蔽了吗?
标签: javascript java html ajax