所以我有一个按钮,假设“添加”一个“项目”到一个列表并更新同一页面上的列表而不刷新它。
添加项目而不重定向工作。但该元素未正确刷新
这是我的剧本:
<div id="list">
{% for item in items %}
{{ item.name }}
{% endfor %}
</div>
<button id="add" type="submit">+</button>
<script>
$('#add').click(function () {
$.get('/url/page/', function (data) {
$('#list').html(data);
});
});
</script>
views.py
def add_to_list(request, item_id, list_id):
item, created = List.objects.get_or_create(list_id=list_id,
item_id=item_id)
return HttpResponse(request)
我觉得我必须在视图中添加一些内容?并且可能使用json代码?
答案 0 :(得分:0)
您应该将请求的结果附加到div
元素。试试这个:
$('#add').click(function () {
$.get('/url/page/', function (data) {
$('#list').append(data);
});
});
假设您从data
请求收到的GET
不是对象,而只是一个字符串。如果是对象,请添加data.name
:
$('#list').append(data.name)
希望它有所帮助。