2011-08-08 122 views
2

我正在寫一個單詞/名稱生成器。在我的本地計算機上,腳本工作正常,但上傳時,jQuery無法加載文本文件,並且出現404未找到的錯誤。該文本文件在那裏,我已經檢查了很多次。下面是簡化的代碼:http://namepicker.site11.com/test.htmlJquery/JS未加載文本文件

感謝您的任何意見, 託德

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>JQuery-Load Text File</title> 
     <script type="text/javascript" src="./js/jquery-1.4.3.min.js"></script> 
      <script type="text/javascript"> 
      function loadXML() 
      { 
       var file= './names/names.txt'; 
       $.get(file, function(data) { 
        alert(data); 
       }); 
      } 
      </script> 
    </head> 

    <body onload="loadXML();"> 
    </body> 
</html> 
+0

這裏沒有什麼可以解決的。您不得將文件上傳到正確的位置或使用正確的名稱。仔細檢查一下! – redsquare

+0

我覺得這裏有些奇怪的事情發生。如果您訪問http://namepicker.site11.com/names/names.txt,則回覆爲404.但是,如果您訪問http://namepicker.site11.com/names/wrong-file.txt,它將您重定向到您的虛擬主機上的404。你必須檢查它們是怎麼回事(除非,正如pimvdb所示,這是一個底層腳本) –

+0

該文件在那裏:http://namepicker.site11.com/names,權限是正確的。那麼,什麼瘋狂的東西可以阻止訪問一個簡單的文本文件? – maddogandnoriko

回答

1

http://namepicker.site11.com/names/names.txt

該文件不存在,它必須有被加載。嘗試創建它,看看你是否有相同的問題。

編輯: http://namepicker.site11.com/names/

文件似乎存在,也許是檢查文件的CHMOD設置。

+0

我認爲這些設置是正確的。每個人都有閱讀權限。 – maddogandnoriko

+0

你在其他目錄裏面有類似的問題嗎? – Henry

+0

我沒有複製名稱目錄並將其重命名爲同一個問題。 – maddogandnoriko

0

jQuery是還沒有準備好。你需要wrap jQuery functions

例如:

$(function() { 
    $(window).load(function() 
     var file= './names/names.txt'; 
     $.get(file, function(data) { 
      alert(data); 
     }); 
    }); 
}); 
+1

他在那個時候並沒有和dom互動,反正他用身體來開球他的js – redsquare

+0

是的,非常真實。我需要更多的咖啡。 – andyb

+0

從技術上講,jQuery已準備就緒,這是未準備好的DOM。但是,因爲他使用標籤中的onload事件調用函數,我認爲你是對的。用$(function(){...})包裝;或出於測試目的,將工作從功能中解放出來。這樣jQuery將加載文件並提醒它的內容。由於$ .get沒有等待任何DOM元素,這會告訴你,如果你的路徑是正確的。編輯:我也需要更多的咖啡。請參閱Redsquare的評論。 :) – SeanW

3

那麼簡單瞭解一下Chrome的開發者工具揭示了這個錯誤:

GET http://namepicker.site11.com/names/names.txt 404 (Not Found) 

很顯然,你需要真正的names.txt文件上傳到names目錄。

編輯:我看到其他文件重定向到您的託管404頁面,而names/names.txt沒有,所以也許它存在,但它不知何故仍然發送404代碼。它是一個真正的文本文件或基礎的PHP文件?

+2

多奇怪..它在http://namepicker.site11.com/names/ apears,但沒有列出的文件似乎工作。有些東西阻止訪問。 – Henry

+0

這就是問題所在。什麼會造成這種情況?該文件確實存在,權限正確。 – maddogandnoriko

+0

@maddogandnoriko:你有一個'.htaccess'文件嗎?如果你上傳另一種文件呢? – pimvdb