我对我的代码非常困惑。这是ajax:
<script type="text/javascript">
jQuery(document).ready(function() {
$("#search-filter").click(function (evt) {
evt.preventDefault();
q=$('#q').val();
q_fields=$('#q-fields').attr('value');
$.ajax({
type: 'GET',
url: $(this).attr("href"),
data: {'q': q, 'q_fields': q_fields},
success: function(data) {
var returned_html = $(data);
alert(returned_html);
}
})
});
});
</script>
我的视图返回一个我可以打印的HTML。这是预期的。
if self.request.is_ajax():
return render_to_response(self.obj_template, {'object_list': res}, context_instance=RequestContext(self.request))
我无法在我的var returns_html中获得回报。我应该错过一些东西。但是什么?萤火虫的反应是类型&#39; HttpResponse&#39;没有len()。
编辑:
这是模板:self.obj_template我用来构建我的HTML。
{% for object in object_list %}
<li>object.name</li>
{% endfor %}
打印返回我的观点我想要检索:
print render_to_response(self.obj_template, {'object_list': res}, context_instance=RequestContext(self.request))
<tr class="clickableRow" href="/contacts/1054/">
<td>ABBA</td>
<td>toto</td>
<td>auie@auienrtsi.fr</td>
<td>CAM SA</td>
</tr>
<tr class="clickableRow" href="/contacts/1045/">
<td>toto</td>
<td>toto</td>
<td></td>
<td>None</td>
</tr>
答案 0 :(得分:0)
这是你的js
错了,试试这个:
var returned_html = data;
答案 1 :(得分:0)
我提供的关于这个主题的信息太少没有帮助,我很抱歉。我的错误在于使用CBV来响应格式化HTML而不考虑CBV渲染整页。所以我不得不在CBV之外调用一个函数来返回预期的确切代码。