页面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 %}
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写到你想写的地方去吧。
我刚学,写的不对请指教。