gpt4 book ai didi

javascript - 多次调用 jQuery AJAX 函数,但仅在第一次调用时提取数据

转载 作者:行者123 更新时间:2023-11-30 11:59:30 24 4
gpt4 key购买 nike

我有一个 jQuery 函数,用于从 Flask 服务器上的 XML 文件中提取数据。我通过调用此函数开始准备就绪的函数,并且我的所有变量都没有问题地更新。但是,当我从单击操作中第二次调用该函数时,我的变量不会更新。我知道 AJAX 函数被成功调用,因为我收到了警报。似乎认为 XML 文档在第一次调用后没有被重新加载。我怎样才能让我的变量在每次调用函数时更新。

全局变量

//Variables representing Sensor Data
var bspeed=0;
var set_temp=0;
var f_temp=0;
var fuel_level=0;
var s_temp=0;
var humidity=0;
var bspeed_data=0;
var set_temp=0;
var mode = "mod";
var mod_mode = "blower";

数据拉取功能

//AJAX XML file parsing
function pull_data(){

//Gather Data from main.xml and store into variables
$.ajax({
type: "GET",
url: "static/main.xml",
async: false,
success: function(xml){
$(xml).find('item').each(function(){
var id = $(this).find('id').text();
switch(id){
case "ftemp_data":
f_temp = $(this).find('value').text();
break;
case "stemp_data":
s_temp = $(this).find('value').text();
break;
case "fuel_level_data":
fuel_level = $(this).find('value').text();
break;
case "humidity_data":
humidity = $(this).find('value').text();
break;
case "blower_speed":
alert("Changing bspeed");
bspeed_data = $(this).find('value').text();
}
});
alert("Pull Success "+ bspeed_data);
},
error: function(data){
alert("AJAX failed: "+ data.status + ' ' + data.statusText);
}
});

//Populate HTML with variables
$("#ftemp_data").text(f_temp+("\u00B0"));
$("#stemp_data").text(s_temp+("\u00B0"));
$("#fuel_level_data").text(fuel_level+"%");
$("#humidity_data").text(humidity+"%");
$("#bspeed_data").text(bspeed_data);
}

就绪函数(简化)

$(document).ready(function(){
pull_data();
//Click Refresh Button
$("#refresh_btn").click(function(){
pull_data();
});
}

我是网络开发的新手,所以请随时指出我正在做的事情的结构性问题。

最佳答案

可能你需要强制刷新缓存,为此,在ajax代码中添加一个属性cache: false:

$.ajax({
type: "GET",
url: "static/main.xml",
async: false,
cache: false,...

可以打卡Jquery Ajax documentation

关于javascript - 多次调用 jQuery AJAX 函数,但仅在第一次调用时提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37042580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com