html - 如何使用 ajax 动态更新烧瓶 Web 应用程序中的 API 数据
问题描述
我有一个显示加密货币价格/市值/等的网络应用程序。数据显示在引导表中。我遇到的问题是我想动态更新,比如说,使用 ajax 的加密货币的价格。我尝试使用 update.js 每 15 秒更新一次价格,价格应该更新一次。数据已获取,但 ajax 不会更新价格。
index.html 正文:
<tbody>
{% for crypto in cryptos: %}
<tr>
<th scope="row">{{ crypto.cmc_rank }}</th>
<td><span class="info">Kryptowaluta: </span><span class="bigger">{{ crypto.name }}</span></div> | <span class="gray">{{ crypto.symbol }}</span></td>
<td><span class="info">Kurs: </span><div id="update-zl">{{ "{:,.2f}".format(crypto.quote.PLN.price) }}</div> <span> zł</span></td>
<td><span class="info">Zmiana % (24h): </span><span class="td bigger">{{ "{:,.4f}".format(crypto.quote.PLN.percent_change_24h) }}</span> <span>%</span></td>
<td><span class="info">Kapitalizacja: </span>{{ "{:,.2f}".format(crypto.quote.PLN.market_cap) }}<span> zł</span></td>
<td><span class="info">Wolumen (24h): </span>{{ "{:,.2f}".format(crypto.quote.PLN.volume_24h) }}<span> zł</span></td>
</tr>
{% endfor %}
</tbody>
更新.js
$(function(){
window.setInterval(function(){
updateZl()
}, 15000)
function updateZl(){
$.ajax({
url:"/update-zl",
type: "GET",
dataType: "json",
success: function(data){
$(updatezl).replaceWith(data)
}
});
主文件
@app.route('/update-zl', methods=['GET'])
def updatezl():
response = requests.get(url=ENDPOINT, params=parameters, headers=headers)
data = response.json()
crypto_data = data["data"]
return render_template("update-zl.html", cryptos=crypto_data)
update_zl.html
{% for crypto in cryptos: %}
<div id="update-zl">{{ "{:,.2f}".format(crypto.quote.PLN.price) }}</div>
{% endfor %}
解决方案
推荐阅读
- mysql - 通过 MySQL 中的布尔值查找 JSON 对象路径
- python - 事务回滚
- node.js - 使用 Yarn 从另一个脚本调用一个脚本
- kotlin - 引用定义为成员的扩展函数;内联`with`
- laravel-6 - 重定向到嵌套控制器操作
- react-native - 使用 react-native-firebase-mlkit 视觉处理 OCR 图像后如何绘制边界框
- c - 在 PIC18F252 上与 ADC 的输出作斗争
- c++ - 为什么不允许将临时对象绑定到非常量引用?
- .net - 在 WPF 中向 DatePicker 控件添加按钮
- php - 接口常量,后期静态绑定