jQuery.getJSON不会触发回调

我有一个HTML代码
<button>asd</button>
<script type = "text/javascript">
$('button').click(
    function() {
        $.getJSON('/schedule/test/',function(json) {
            alert('json: ' + json + ' ...');
        });
    }
);
</script>

并相应视图:

def test(request):
    if request.method == 'GET':
        json = simplejson.dumps('Hello World!')
        return HttpResponse(json,mimetype = 'application/json')

视图被执行(使用print测试),json变量被初始化,但没有警报出现。我做错了什么?我已经看到了一些文档(例如http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback),但我没有找到答案。
编辑:问题是,HttpResponse没有导入…不幸的是Django没有给出任何错误。一切都是正确的。
问候
克里斯

这可能是json没有正确形成。有时这发生在我的时候,我的代码,应该是生产的json生成错误。两个选项:

>使用firebug查看JSON响应
>使用jQuery.ajaxSetup选项在jquery代码中设置错误处理,如:

$.ajaxSetup({"error":function(XMLHttpRequest,textStatus,errorThrown) {   
      alert(textStatus);
      alert(errorThrown);
      alert(XMLHttpRequest.responseText);
  }});

使用错误处理调试是伟大的,因为你会知道,当你的响应有问题。你可以查看jQuery documentation for jQuery.ajax,它有jQuery.ajaxSetup的所有可用选项。

编辑:第三个选项是只打开应该生成JSON的URL,并通过JSON Lint运行输出来验证它。

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...