django 词典 json

页面A.html:发出请求
django后端处理后返回:return render_to_response('result.html',{'dicts':server_result})
模板页面B.html(就是上面render_to_resonse()里面的result.html)承接:
<pre class="textarea" id="server_result">
{% for key,value in dicts.items %}{{ key }}{{ value }}{% endfor %}

</pre>

这样就可以实现django的模板解析后端传过来的词典

如果使用ajax实现局部页面的刷新呢?

用了dictionary 一直没用明白,所以换了json,需要引入json

import json

过程如下所示:

页面A.html:发出请求

具体的ajax代码如下所示:

    <script type="text/javascript">
        $(document).ready(function(){
            //$.post()方式 
            $('button').click(function(){
                $.post(  
                    '/search/',
                    {
                        user:$('#ip').val(),
                        password:$('#hostname').val() 
                    },
                    function(data)
                    {
                        var dicts = $.parseJSON(data);
                        var value=$('#test').text();
                        var li_str="";
                        var div_str="";
                        var str="";
                        var i=0;
                        $.each(dicts,function(key,value){
                            //alert(key+"    "+value);
                        });
                    } 
                );
 
            });
        });
    </script>

后端处理返回:

return HttpResponse(json.dumps(server_result))#把server_result这个dictionary转换成了json格式

具体的解释:

页面A.html包含了一个ajax提交,就是上面所贴出来的代码,传递了两个参数一个user name ,一个password,然后传递给/search/去处理(需要django去配路由),然后后端的django python文件处理后得到一个dictionary,然后执行了 return HttpResponse(json.dumps(server_result)),转换成json并返回给ajax,ajax得到的就是一个json类型的数据,然后通过each遍历得到key、value,然后就可以继续用了,可以通过jquery写到你想写的地方去吧。

我刚学,写的不对请指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值