在自定义函数中使用 jQuery 时,我遇到了问题。
当我从我的 .html 开始我的 jQuery 时,例如:
<script type="text/javascript" src="js/MyJS.js"></script>
我的JS:
$.getJSON('MyFilePath', function(data)
{
var items = [];
$.each(data, function(key, val)
{
//Doing things with my data.
});
});
它工作正常并返回我的文件。(我使用的是带有 json 结构的纯文本文件)。
但是当我试图从一个函数启动它时,例如:
function getAllDepts()
{
$.getJSON('MyFilePath', function(data)
{
var items = [];
$.each(data, function(key, val)
{
//Doing things with my data.
});
});
}
它行不通。似乎他无法加载我的文件,但我就是不明白为什么。
和:
$.ajax({
url: "MyFilePath",
success: function(data){
console.log(data);
},
error: function(data){
alert(error);
}
});
我仍然可以获取我的数据,但我只想知道为什么 getJSON 不起作用。我读到 getJSON 在加载本地文件方面存在问题,但我不确定它是否适用于我的问题。
有任何想法吗?
@注释:
- 是的,我通过我的 .hmtl 中的 onclick:"getDepts()" 调用该函数,并且它被正确调用。
- 返回值领先一步,因为 getJSON 无法正常工作。jQuery 认为这不是问题,因为在使用 Firebug(Firefox) 进行调试时,会调用该方法。主要问题似乎是他无法加载文件。
- 我的数据文件是 .txt。带json结构。(我用http://jsonlint.com/检查了我的 json 结构,它说没关系)
- 没有像 404 这样的错误,因为文件存储在本地,并且在使用 firebug 时没有出现错误。
- 我在编辑这篇文章时创建了语法错误。固定大括号。