我正在学习如何利用jquery使用ajax / json,而且我碰到了一块我不明白的砖墙。
这是我的代码 - 非常简单的代码:
$("#click").click(function() {
$.getJSON("http://localhost/jsontest/a.json", function(data) {
alert("done");
});
});
基本上,加载a.json并向屏幕发送一条警告说已完成。
以下是a.json的内容:
{“完成”:“37”}
就是这样。
虽然它不起作用......但不显示警报。
任何想法的人?
答案 0 :(得分:9)
我刚遇到一个问题,我没有格式化它正在检索的文件中的数据。如果文件中的JSON有任何错误,它将无声地失败。虽然你总是可以添加.fail(函数)来检测失败。
我正在使用:{ varname:"my string" }
当我应该使用时:{ "varname":"mystring" }
出于这个原因,我认为使用get来检索带有$ .get()的数据然后使用JSON.parse()可能会更好。这样你就知道get或parse是否失败。
答案 1 :(得分:1)
萤火虫是否有任何错误?
我首先要改变:
$.getJSON("http://localhost/jsontest/a.json?callback=?", function(data) {
为:
$.getJSON("http://localhost/jsontest/a.json", 'callback=?', function(data) {
答案 2 :(得分:1)
试试这个:
$.getJSON("http://localhost/jsontest/a.json", { }, function(data) {
alert(data.done);
});
答案 3 :(得分:1)
我打赌这个:你忘记在你的“click”元素之后,或者在“ready”处理程序中将该设置代码放在<script>
块中:
$(function() {
$('#click').click(function() { /* ... same stuff as you have ... */ });
});