首页 > 解决方案 > JavaScript 函数 $ 未定义

问题描述

嗨,我是 JavaScript 的初学者,我在下面有这段代码,它允许我上传文件并将其发送到服务器以获取响应,这部分工作正常,但问题是我在取回数据后我没有'不想被重定向到我想要创建的 API 链接,以便我留在当前页面并获取警报中的数据我不确定我的函数是否有任何问题,但它一直给我这个错误控制台ReferenceError: $ is not defined。任何帮助将不胜感激,谢谢!

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<body>

<form action=" API link " class="upload" id="file-upload" method="post" 
  enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload file" name="submit">
</form>

<script>    

$(function() 
{
$('#file-upload').upload({
    maxFiles: 1,
    acceptedFiles: ".pdf,.doc,.docx,.html", 
    dataType: "json",
    success : function(data) {
        alert(data.xhr.response);
    }
});
});

</script>   
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
</body>
</html>

标签: javascriptjqueryhtml

解决方案


在定义函数之后,您指的是 jQuery。

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head></head>
<body>

<form action=" API link " class="upload" id="file-upload" method="post" 
  enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload file" name="submit">
</form>

不它不是。:D 在@rncrtr 评论后编辑 -->
$(function() { $('#file-upload').upload({ maxFiles: 1, acceptedFiles: ".pdf,.doc,.docx,.html" ,数据类型:“json”,成功:函数(数据){警报(数据.xhr.response);}});});

请记住,浏览器总是按照从左到右,然后从上到下的顺序呈现内容。这意味着,当它尝试执行您编写的 jQuery 片段时,它应该知道jQuery. $否则,它会这么说$ is undefined。这实际上意味着对您的 jQuery 库文件的引用应该出现在文档的顶部,即您在其中包含 jQuery 剪辑。

编辑:在@rncrtr 的建议之后将 jQuery 引用移至底部。


推荐阅读