2013-05-22 77 views
1

我是JavaScript和一般網站的新手 - 如果這個問題聽起來有點基本,請原諒。讀取文件和返回數據(JavaScript)

然而,這個想法是有一個彈出式消息顯示在每一頁上說的一些信息。由於網站是靜態的 - 如果稍後我們要更改消息,我們必須編輯每一頁。

爲了簡化這一點,我一直試圖在服務器上包含一個簡單的文本文檔。

該頁面將讀取文本文檔並顯示消息。

所以,我們只需編輯文本文檔和網頁從而將改變上顯示的信息。

我的代碼是這樣:

<div class="sticky-box" id="x"> 
     <div class="sticky-inner"> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script> 
     <script type="text/javascript"></script> 
     <script> 
      window.addEvent("domready",function(){ 
       var csvRequest = new Request({ 
       url:"text.txt", 
       onSuccess:function(response){       
         document.write(response);      
        } 
       }).send(); 
      }); 
      </script> 
    </div> 

雖然,它成功地讀取文檔 - 它顯示的文本,而不是網頁。總之,我在頁面上看到「一些示例文本」,但沒有別的。

任何人有任何想法爲什麼?

有沒有更簡單的方法來做到這一點?

注:重做該網站是的選擇!

回答

1

相反的document.write(response)你應該創建一個容器,說你的網頁div或span元素,並在該容器中寫入數據。在頁面加載完成後使用documen.write()時,瀏覽器將打開一個新文檔並替換當前文檔的內容。

類似下面的代碼應該有所幫助:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script> 
<script type="text/javascript"></script> 
<script> 
    window.addEvent("domready",function(){ 
    var csvRequest = new Request({ 
    url:"text.txt", 
    onSuccess:function(response){       
    document.getElementById("sticky_inner").innerHTML= response;      
    } 
    }).send(); 
    }); 
</script> 
<div class="sticky-box" id="x"> 
    <div class="sticky-inner" id="sticky_inner"></div> 
</div> 
+0

工作一種享受。謝謝! :d – user1662290

1

這是因爲你使用的是document.write(response)document.write將簡單地創建一個空白文檔並在其上寫入內容。例如,您應該使用div元素,並將其中的數據寫入 。

更多關於document.write