javascript - Ajax 代码在第一次计算后停止

标签 javascript jquery ajax

我正在编写计算费用的ajax代码。
它工作正常,但如果我输入第二个操作,它就会停止。

<script>
var weight =   document.getElementById("weight").value;
var ship_type = document.getElementById("ship_type").value;
var eol = document.getElementById("eol").value;
function showFees(e) {
  e.preventDefault();
  if (weight === 0) {
    document.getElementById("txtHint").innerHTML = "no thing";
    return;
  } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("txtHint").innerHTML = this.responseText;
    }
    };
    xmlhttp.open("GET", "sdr.php?weight=" + weight + "&ship_type=" + ship_type + "&eol=" + eol, true);
    xmlhttp.send();
  }
}
</script>

最佳答案

这是因为您在函数外部获取输入值,并且它第一次加载值,并且在调用 showFees 函数时一次又一次地获取相同的数据。尝试下面的代码来解决这个问题,

var objWeight =   document.getElementById("weight");
var objShip_type = document.getElementById("ship_type");
var objEol = document.getElementById("eol");
function showFees(e) {
  var weight =   objWeight.value;
  var ship_type = objShip_type.value;
  var eol = objEol.value;
  e.preventDefault();
  if (weight === 0) {
    document.getElementById("txtHint").innerHTML = "no thing";
    return;
  } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("txtHint").innerHTML = this.responseText;
    }
    };
    xmlhttp.open("GET", "sdr.php?weight=" + weight + "&ship_type=" + ship_type + "&eol=" + eol, true);
    xmlhttp.send();
  }
}

关于javascript - Ajax 代码在第一次计算后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44534983/

相关文章:

javascript - $.ajax() 不提供从静态 json 文件获取 json 的请求

jquery - 有没有办法从服务器获取可编辑数据表中的 aocolumns?

ajax - 模态表单不提交用户输入

javascript - 能够中止异步调用

javascript - 使用 Javascript 将数组项相乘

javascript - 自动聚焦于联系表 7 的首次输入

javascript - 在 jQuery 条形图中加载 php foreach 值

javascript - Highchart 工具提示显示最近点

javascript - 如何在 OpenLayers 3 中绘制多部分几何图形?

php - 使用 Ajax 在 Joomla 中加载组件数据