在我的模板我的列表从服务器中检索:更新列表项
{% 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构建列表。如果你不知道如何做到这一点,我可以发布一个完整的答案,可以使它更清晰。 – rob