【发布时间】:2013-04-03 13:09:23
【问题描述】:
在自定义函数中使用 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 在加载本地文件时存在问题,但我不确定它是否适用于我的问题。
有什么想法吗?
@cmets:
- 是的,我通过我的 .hmtl 中的 onclick:"getDepts()" 调用该函数,它被正确调用。
- 返回值领先一步,因为 getJSON 工作不正常。 jQuery 认为这不是问题,因为在使用 Firebug(Firefox) 进行调试时,会调用该方法。主要问题似乎是他无法加载文件。
- 我的数据文件是 .txt。带json结构。 (我用http://jsonlint.com/检查了我的json结构,它说没关系)
- 没有像 404 这样的错误,因为文件存储在本地,使用 firebug 时不会出现错误。
- 我在编辑这篇文章时产生了语法错误。固定大括号。
【问题讨论】:
-
查看您的控制台,看看您是否有任何问题,例如 404。
-
你在调用
getAllDepts函数吗? -
你真的调用了这个函数吗?
-
getAllDepts()怎么称呼?您的文件是 .json 还是 .txt?您是否在控制台中看到错误? -
它不起作用,因为您的函数定义中的大括号一团糟。语法错误。
标签: javascript jquery html