查找目录中的文件

时间:2013-06-21 22:39:56

标签: javascript html json

我正在尝试使用JavaScript在我的目录中找到一个JSON类型的文件。但是,当我查看谷歌搜索结果时,他们声称JavaScript无法做到这一点,因为它是一种客户端语言。但是,当我执行以下代码(这不是我想要的,但它的工作原理),它指定了我正在寻找的文件,它的工作原理。我想知道为什么会这样。是因为我使用的是jQuery吗?

为了澄清,我有一个包含我的html文件和JSON文件的目录,而Scene.js文件在一个子目录中。所以,它看起来像:

-labvtk

--- ch4_CameraTypes.html(html文件)

--- noise.json

--- JS

----- webgl的

------- Scene.js

如果是这种情况,你会如何建议我找到一个JSON类型的文件(或许像* .json),而不是明确说明文件名(在这种情况下是noise.json)?

Javascript代码:

var Scene = {
    objects : [],
    getObject : function(alias){
        for(var i=0; i<Scene.objects.length; i++){
            if (alias == Scene.objects[i].alias) return Scene.objects[i];
        }
        return null;
    },

    loadObject : function(filename) {
        var request = new XMLHttpRequest();
        console.info('Requesting ' + filename);
        request.open("GET",filename);

        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                if(request.status == 404) {
                    console.info(filename + ' does not exist');
                }
                else {
                    var o = JSON.parse(request.responseText);
                    o.remote = true;
                    Scene.addObject(o);
                }
            }
        }
        request.send();
    },

    addObject : function(object) {
        ...

和html文件(里面有一些javascript)

...
<script type='text/javascript' src='js/gui/jquery-1.5.1.min.js'></script>
<script type='text/javascript' src='js/gui/jquery-ui-1.8.13.custom.min.js'></script> 
<script type='text/javascript' src='js/webgl/Scene.js'></script>
...
function load(){
    Scene.loadObject('noise.json');

}
...

此代码主要来自http://tinyurl.com/merdnch

1 个答案:

答案 0 :(得分:2)

您找到的Google条目非常正确:您无法使用Javascript搜索服务器。正如您所演示的那样,如果您已经知道该名称,则可以找到该文件。

在服务器上搜索的唯一方法是在服务器上实现脚本。例如,您可以使用PHP的scandir()glob()函数。还有很多其他方法。

This question可能会给你一些指示。