读取和解析Django Simplejson HttpResponse JQuery



我让Django返回一个JSON类型的HttpResponse,它看起来像:

{"lat": "41.1391666667", "alt": " 367401.6875", "lon": " 113.945472222"}

Django views.py方法的return语句如下:

return HttpResponse( simplejson.dumps( {'lat' : lat , 'alt' : alt , 'lon' : lon} ) , content_type='application/json')

我正在尝试使用JQuery读取Json与以下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
        // The JSON (simplejson) Django repsonse looks like:
        // {"lat": "23.5017777778", "alt": " 371405.03125", "lon": " 92.0223333333"}
        document.write('Getting JSON response...');
        $.getJSON(< my django url>,
            function(data) {
            alert(data['alt']);
            });
    });
</script>
</head>

<body>
</body>
</html>

我是一个非常新的Javascript/JQuery和尝试解决方案,从许多其他的帖子在这里,但似乎不能得到任何响应运行我的JQuery代码上面(我没有看到任何警报按钮与我的海拔显示)。我已经验证了Django的JSON响应看起来很好。如果你能告诉我我哪里做错了,我会很感激的。谢谢。

使用data.alt代替。从alert(data)开始确保数据到达您的手中。我有一个示例代码,它使用$. getjson()和一些基本的jquery代码来帮助您入门。

同时,当前的jquery是http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js(注意:我的代码是一个版本落后)。

这是解决-问题是与Chrome本地打开文件相关的这个问题:Access-Control-Allow-Origin多个源域?将文件移动到外部服务器允许它按需要工作。谢谢你的帮助。

最新更新