Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript文件未加载-语法错误_Javascript_Html - Fatal编程技术网

JavaScript文件未加载-语法错误

JavaScript文件未加载-语法错误,javascript,html,Javascript,Html,我有这个HTML代码 <!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.j

我有这个HTML代码

<!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”文件

函数addField(){
$('form input:file').last()之后($('

'); };
但是如果我加载页面,我的文件“FileFunctions.js”不会加载。。。javascript控制台说

Uncaught SyntaxError: Unexpected token < FileFunctions.js:1
uncaughtsyntaxerror:意外标记

但我无法找出这些代码的错误。。。谢谢你的建议

我认为你的javascript有问题。请尝试下面的代码

JS小提琴:

“严格使用”;
函数addField(){
$('form input:file').last()之后('

'); };
问题在于.htaccess中的配置错误。apache返回了我的HTML页面,其中包含关于不存在的“scripts.php”文件而不是“/scripts/FileFunctions.js”的信息

解决方案很简单,我刚刚在.htaccess中添加了RewriteCond

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

脚本/FileFunctions.js前的斜杠(/)是您的意图吗?我猜您的web服务器没有提供您期望的文件,而是提供了一个
404notfound
页面,该页面充满了HTML内容,而不是JavaScript代码。您是否使用Firebug来确保您正在下载的文件是您希望下载的文件?您是否尝试过使用JSLint@RichardJPLeGuen如果是404也没关系。浏览器不会尝试解析它,因此不会抛出error@jackchuka是的,这是我的想法,没有你的
“严格使用”
也能正常工作!请看,我强烈建议始终使用“严格使用”。它使开发和调试更加容易!:)对引用自MDN->“Strict模式对普通JavaScript语义进行了一些更改。首先,严格模式通过将JavaScript静默错误更改为抛出错误来消除这些错误。其次,严格模式修复了使JavaScript引擎难以执行优化的错误:严格模式代码有时可以比非严格模式的相同代码运行得更快。第三,严格模式禁止某些可能在未来版本的ECMAScript中定义的语法。“谢谢您的回答,但我已经解决了它-@Richard JP Le Guen给了我一个很好的提示,解决了我的问题:)我错误地配置了返回html文件而不是jscript的.htaccess。
"use strict";
function addField() {
    $('form input:file').last().after('<p><input type="file" name="files[]" id="file" /><br /></p>');
};
RewriteCond %{SCRIPT_FILENAME} !scripts/(.*)$
RewriteRule ^([a-zA-Z0-9]+) index.php?page=$1 [QSA]