2013-06-21 105 views
0

我正試圖在JavaScript目錄中找到一個JSON類型的文件。然而,當我看着谷歌的結果時,他們聲稱JavaScript不能做這樣的事情,因爲它是客戶端語言。但是,當我做下面的代碼(這不是我想要的,但它的工作原理),它指定我正在尋找的文件,它的工作原理。我想知道爲什麼是這樣。是因爲我使用jQuery嗎?在目錄中查找文件

爲了澄清,我有一個包含我的html文件和JSON文件的目錄,並且Scene.js文件位於子目錄中。因此,它看起來像:

-labvtk

--- ch4_CameraTypes.html(HTML文件)

--- noise.json

--- JS

- ---- WebGL的

------- Scene.js

如果是這樣的話,怎麼會ÿ ou建議我找到一個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

+0

JavaScript可以從您的網頁來自的服務器請求文件。支持與頁面的查看器計算機上的文件進行交互,這是有限的和實驗性的。爲了澄清,你想從你的網絡服務器的JSON文件,是否正確? – FakeRainBrigand

+0

我做了一個編輯,以幫助澄清希望。 – ThinkFlow

回答

2

採取你已經找到了谷歌條目非常正確:您無法使用Javascript搜索服務器。如果您已經證明,如果您已經知道該名稱,則可以找到一個文件。

在服務器上搜索的唯一方法是在服務器上實現一個腳本。例如,您可以使用PHP的scandir()或​​3210函數。還有很多其他的方法。

This question可能會給你一些指示。

相關問題