javascript

时间:2017-08-19 13:13:43

标签: javascript json audio

我发现很难理解javascript编码的一个方法论问题。 当我在脚本中想要读取音频文件时,我这样做:

var audio = new Audio('theme.mp3');
audio.play();

它简单,清晰且动态运行:我可以从站点访问文件系统(是真的吗?)。 但是,如果我想读取一个基本上是文本文件的json文件,我必须写一个AJAX请求:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        //code
    }
};
xmlhttp.open("GET", "json_demo.txt", true);
xmlhttp.send();

并且使用jQuery我们看到相同但缩短的东西。 你能解释一下,为什么我可以阅读所有的图形,音频文件等,但是要上传JSON文件我必须做那个请求吗?客户端和服务器之间的这种通信如何工作?差异在哪里?为什么我只能阅读文本文件,就像我上面用theme.mp3做的那样?

非常感谢你。

更新: 最重要的是:当我如上所述阅读音频文件时,即使我从计算机打开html文件,脚本也能很好地工作。同时,在从localhost 打开页面之前,加载JSON文件不起作用。 (如果我使用错误的条款,我很抱歉。)

"帮助我StackOverflow,你是我最后的希望。"

0 个答案:

没有答案