Я очень смущен своим кодом. Вот ajax:Ajax не получает данные HTML из render_to_response
<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>
My view возвращает HTML, который я могу распечатать. Это как и ожидалось.
if self.request.is_ajax():
return render_to_response(self.obj_template, {'object_list': res}, context_instance=RequestContext(self.request))
Я не могу получить возврат в свой var return_html. Я должен был что-то упустить. Но что? Ответ от firebug - объект типа «HttpResponse» не имеет len().
EDIT:
Вот шаблон: 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>[email protected]</td>
<td>CAM SA</td>
</tr>
<tr class="clickableRow" href="/contacts/1045/">
<td>toto</td>
<td>toto</td>
<td></td>
<td>None</td>
</tr>
Каков тип/значение 'res'? – OozeMeister
@OozeMeister это запрос как object.objects.all() –
Когда вы 'print'' render_to_response', что показывает консоль? – OozeMeister