javascript - 更改了选项卡值但未反映在页面中?
问题描述
我正在使用 ajax 寻求解决方案来动态更新 div 中的数据值并反映 HTML 中的效果。数据值来自后端烧瓶和 sql DB。我知道数据值已经更新,因为如果我刷新页面,新的数据值将反映在页面中。有没有办法实现这个功能在网页上实时自动反映效果?我不想触发另一个表单提交来达到这个效果。:)
简而言之,ajax响应数据成功,但没有更新html,所以网页没有反映更新的值。
谢谢你 !
@app.route("/fetch_bar",methods=['POST'])
def fetch_bar():
result = [{'hostname': 'testaa101.com', 'status': '30'}] ### example data that actually getting from DB.
app_json = json.dumps(result)
return jsonify(app_json)
function bar_progress(){
$.ajax({
url:"{{ url_for('fetch_bar') }}",
type:"post",
dataType: "json",
async: false,
success:function(response){
var response = JSON.parse(response);
var len = Object.keys(response).length;
var bars = document.querySelectorAll("[id=ldBar]");
if (len > 1)
for( var ind = 0; ind < len; ind++){
if (selects[index].value == response[ind].hostname)
bars[index].setAttribute("data-value",response[ind].status);
}}})}
function shadow_progress() {
bar_progress()
setTimeout(shadow_progress, 15000);
}
shadow_progress();
<form id="myform" name="myform" action="{{url_for('show_select')}}" method="post">
{% for entry in entries %}
.....
<td>
<input id="stage" type="button" class="btn-primary" onclick="readTextFile();" name="stage" value="{{entry.stage}}" >
<div id="ldBar" class="ldBar label-center" data-value="0" data-preset="stripe" data-aspect-ratio="none" style="width:100%;display: block;" ></div>
</td>
......
{%endfor %}
解决方案
推荐阅读
- c# - C# 检查和调用可能存在或不存在的对象属性
- android - MediaStore.Images.Thumbnails.getThumbnail 返回 null
- python - 如何编写 python 程序计算 n+nn+nnn+nnnn+... nn...n 的值 ntimes 给定的数字作为 n 的值
- java - 用按钮链接气泡选择器中的气泡
- python - 为什么 df.cumsum() 给出 ValueError: Wrong number of items passed, placement 意味着 1
- performance - 了解elasticsearch慢查询日志格式
- arrays - 如何在汇编语言中切换数组的第一个和第二个、第三个和第四个等元素并以 dec 输出?
- javascript - 反应钩子useState不能存储json或字符串
- python - 我将图片转换为 GIF,但海龟的 bgpic() 仍然无法正常工作
- .net - 使用 moq 在 xunit 中更新操作