【发布时间】:2017-03-22 06:38:03
【问题描述】:
在我的模板中,我有从服务器检索到的列表:
{% for elem in event_list %}
<li id="item{{forloop.counter}}">
<a>...</a>
<button onclick="fetch({{elem.id}})">...</button>
{{ elem.id }}
{{ elem.name }}
</li>
{% endfor %}
当我单击按钮时,我调用服务器以获取一些新信息并希望使用新检索到的信息更新该特定列表项。 我怎么能这样做?
我的javascript如下:
function fetch(elem_id){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
resp = JSON.parse(xhr.responseText);
document.getElementById("item"+elem_id).innerHTML = resp;
}
};
url = SERVER_URL
xhr.open('GET', url, true);
xhr.send();
}
我让服务器返回一个字典,然后在 javascript 中将其视为 JSON 对象,但我无法成功更新列表项。
感谢任何帮助
【问题讨论】:
-
如果我要这样做,我会在您的按钮上附加一个处理程序,该处理程序将 AJAX 请求发送到服务器,这将返回一个列表。然后,使用 jquery 构建列表。如果您不知道该怎么做,我可以发布一个完整的答案,可能会更清楚。
标签: javascript python ajax django