【发布时间】:2012-02-10 09:38:07
【问题描述】:
我在这里查看了大量$.getJSON() 帖子,看看是否有任何一个可以帮助我解决我的问题,但到目前为止似乎没有任何帮助。
使用 MAMP 将网页放在本地。 jQuery 在本地运行良好,但是一旦我在 $.getJSON() 中包装任何内容,即使是一个简单的警报,似乎也没有任何效果。
我要提取的数据来自本地托管的 MySQL 数据库,因此没有跨站点调用。我认为问题可能是 MIME 问题,但是我添加了 application/json json,但仍然没有。
我认为我的代码没有任何问题,但这只是以防万一:
$.getJSON("test.php", function(data) {
if (data.test.length > 0) {
$('.title').empty();
$('.content').empty();
$.each(data.test, function() {
var info = '';
if(){
} else {}
$('').append(info);
});
}
});
【问题讨论】:
-
你是什么意思,“似乎没有工作”?你有控制台错误吗?您的浏览器的网络面板对请求有何看法?如果您只是在浏览器中(从地址栏)将
test.php作为文档调用,您会得到什么? -
对不起,我的意思是 $.getJSON() 中没有任何东西被调用。没有控制台错误,就好像调用被忽略了一样。
test.php是对数据库的 PHP 请求;当我从浏览器调用时,我得到了所需的 JSON 文件。 -
这就是我的意思——查看开发者工具网络面板,看看网络调用是否发生。另外,将
console.log放在if之外,就在您的处理程序的开头,以查看它是否被调用。 -
如果没有调用成功函数,那么您的问题可能是服务器端错误(在这种情况下没有调用成功函数)。尝试将 .error(function() { alert('Server Error') }) 附加到 $.getJSON() 返回的对象,看看是否弹出警报。
-
另外,怎么强调都不为过,这是我第三次写这篇文章:检查 Firebug 或开发者工具的网络面板,看看到底发生了什么。
标签: jquery json localhost mamp