0

JavaScript を使用して、ディレクトリで JSON タイプのファイルを 1 つ見つけようとしています。しかし、Google の結果を見ると、JavaScript はクライアント側の言語であるため、そのようなことはできないと主張しています。ただし、探しているファイルを指定する次のコード (これは私が望むものではありませんが、機能します) を実行すると、機能します。どうしてこうなったのだろうと不思議に思いました。jQueryを使っているからでしょうか?

明確にするために、html ファイルと JSON ファイルを含むディレクトリがあり、Scene.js ファイルはサブディレクトリにあります。したがって、次のようになります。

-labvtk

---ch4_CameraTypes.html (html ファイル)

---ノイズ.json

---js

-----webgl

-------Scene.js

この場合、ファイル名を明示的に言うのではなく、JSON タイプ (おそらく *.json など) のファイルを 1 つ見つけることをどのように提案しますか (この場合は 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から取得したものです。

4

1 に答える 1