2013-06-27 54 views
0

我有這樣的HTML代碼JavaScript文件不加載 - 語法錯誤

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>MyPage</title> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script type="text/javascript" src="/scripts/FileFunctions.js"></script> 
</head> 
<body> 
</body> 
</html> 

而這個 「FileFunctions.js」 文件

function addField(){ 
    $('form input:file').last().after($('<p><input type="file" name="files[]" id="file" /><br /></p>')); 
}; 

,但如果我加載頁面,我的文件「FileFunctions.js 「未加載... JavaScript控制檯說

Uncaught SyntaxError: Unexpected token < FileFunctions.js:1 

,但我無法找出什麼是錯的這些代碼...感謝您的任何想法

+0

是腳本之前斜槓(/)/ FileFunctions.js是你的內涵?只是爲了確保 – jackchuka

+2

我的猜測是你的網絡服務器沒有提供你期望的文件,並且正在提供一個完整的HTML內容而不是JavaScript代碼的「404 Not Found」頁面。你有沒有使用Firebug來確保你下載的文件是你期望下載的文件? –

+0

您是否嘗試過使用JSLint? http://www.jslint.com/ – ArrayKnight

回答

2

的問題是用在.htaccess錯誤配置。 Apache返回了我的HTML頁面,其中包含關於不存在「scripts.php」文件的信息,而不是「/scripts/FileFunctions.js」。

解決方法很簡單,我剛剛加入的RewriteCond爲.htaccess

RewriteCond %{SCRIPT_FILENAME} !scripts/(.*)$ 
RewriteRule ^([a-zA-Z0-9]+) index.php?page=$1 [QSA] 
0

我認爲你的JavaScript有一個問題。嘗試下面

JS小提琴代碼:http://jsfiddle.net/jonocairns/Z2C9Y/1/

"use strict"; 
function addField() { 
    $('form input:file').last().after('<p><input type="file" name="files[]" id="file" /><br /></p>'); 
}; 
+0

它沒有你的''使用嚴格的'''以及!請參閱http://jsfiddle.net/Z2C9Y/2/ –

+0

我強烈建議始終使用「嚴格使用」。它使開發和調試更容易! :) – jonosma

+0

即使它沒有它的工作? –